如何修复'frame.pack();'不能按预期工作

时间:2019-06-17 20:34:42

标签: java swing

我正在尝试设置一个动态(如果可以将其称为“动态”)帧,当我添加Jlabel或使用frame.pack();的任何其他内容时,该帧会更改大小。

这是使用最少代码的主类:

public static void main(String[] args) {
    preInit();
    // Variables
    JFrame frame = new JFrame("v1.0");
    JTextField imput = new JTextField("");
    JButton next = new JButton("Next");

    String text = "How are you?";
    JTextArea textArea = new JTextArea(text, 1, 10);
    textArea.setFont(textArea.getFont().deriveFont(20.0f));
    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);
    textArea.setOpaque(false);
    textArea.setFocusable(false);
    textArea.setEditable(false);
    //Setup Frame
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(false);
    frame.add(textArea);
    frame.add(imput);
    frame.add(next);
    next.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            frame.setVisible(false);
        }
    });
    frame.setLocationRelativeTo(null);
    frame.pack();
    frame.setVisible(true);
}

框架如下: pic

0 个答案:

没有答案