无法从 jar 打开 swing window
Can't open swing window from jar
我正在用 swing 写聊天记录。
我已经从客户端的 main 构建了一个 jar,但是当它从 intelij 打开时它无法打开 window...
我该如何解决这个问题?
这是我 window class 的构造函数(我在客户端的 Main 中创建 window):
public MyWindow() {
setBounds(600,300,600,500);
setLocationRelativeTo(null);
setTitle("Chat");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Font chatFont = new Font("Arial", Font.BOLD, 12);
chatArea = new JTextArea();
chatArea.setEditable(false);
chatArea.setFocusable(false);
chatArea.setLineWrap(true);
chatArea.setFont(chatFont);
chatArea.setBackground(Color.decode("#171717"));
chatArea.setForeground(Color.decode("#f5f5f5"));
JScrollPane chatScrollable = new JScrollPane(chatArea);
add(chatScrollable, BorderLayout.CENTER);
jListOfUsers = new JList(new DefaultListModel());
jListOfUsers.setPreferredSize(new Dimension(120, 1));
jListOfUsers.setFont(chatFont);
jListOfUsers.setBackground(Color.decode("#171717"));
jListOfUsers.setForeground(Color.decode("#f5f5f5"));
add(jListOfUsers, BorderLayout.EAST);
msgPanel = new JPanel(new BorderLayout());
add(msgPanel, BorderLayout.SOUTH);
JButton sendMsg = new JButton("SEND");
msgPanel.add(sendMsg, BorderLayout.EAST);
msgField = new JTextField();
msgPanel.add(msgField, BorderLayout.CENTER);
authPanel = new JPanel(new GridLayout(1,3));
add(authPanel, BorderLayout.NORTH);
jtfLogin = new JTextField();
jpfPass = new JPasswordField();
JButton jbAuth = new JButton("AUTH");
authPanel.add(jtfLogin);
authPanel.add(jpfPass);
authPanel.add(jbAuth);
setAuthorized(false);
setVisible(true);
}
我不明白这有什么问题。
请帮帮我。
我已经通过选择 JDK 的正确版本解决了这个问题。项目结构不正确...
我正在用 swing 写聊天记录。 我已经从客户端的 main 构建了一个 jar,但是当它从 intelij 打开时它无法打开 window... 我该如何解决这个问题?
这是我 window class 的构造函数(我在客户端的 Main 中创建 window):
public MyWindow() {
setBounds(600,300,600,500);
setLocationRelativeTo(null);
setTitle("Chat");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Font chatFont = new Font("Arial", Font.BOLD, 12);
chatArea = new JTextArea();
chatArea.setEditable(false);
chatArea.setFocusable(false);
chatArea.setLineWrap(true);
chatArea.setFont(chatFont);
chatArea.setBackground(Color.decode("#171717"));
chatArea.setForeground(Color.decode("#f5f5f5"));
JScrollPane chatScrollable = new JScrollPane(chatArea);
add(chatScrollable, BorderLayout.CENTER);
jListOfUsers = new JList(new DefaultListModel());
jListOfUsers.setPreferredSize(new Dimension(120, 1));
jListOfUsers.setFont(chatFont);
jListOfUsers.setBackground(Color.decode("#171717"));
jListOfUsers.setForeground(Color.decode("#f5f5f5"));
add(jListOfUsers, BorderLayout.EAST);
msgPanel = new JPanel(new BorderLayout());
add(msgPanel, BorderLayout.SOUTH);
JButton sendMsg = new JButton("SEND");
msgPanel.add(sendMsg, BorderLayout.EAST);
msgField = new JTextField();
msgPanel.add(msgField, BorderLayout.CENTER);
authPanel = new JPanel(new GridLayout(1,3));
add(authPanel, BorderLayout.NORTH);
jtfLogin = new JTextField();
jpfPass = new JPasswordField();
JButton jbAuth = new JButton("AUTH");
authPanel.add(jtfLogin);
authPanel.add(jpfPass);
authPanel.add(jbAuth);
setAuthorized(false);
setVisible(true);
}
我不明白这有什么问题。 请帮帮我。
我已经通过选择 JDK 的正确版本解决了这个问题。项目结构不正确...