繁体   English   中英

无法从 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 解决了这个问题。 项目结构不正确...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM