我遇到了我非常确定的故障,并没有找到任何方法。我目前只有一个简单的窗口,它有一个文本字段和一个标签。当我第一次运行程序时,出现的是一个空窗口,当我调整窗口大小时,通过最大化或只是手动调整一点,组件出现,这里发生了什么?
public class Calculator {
public static void main(String[] args) {
JFrame mainFrame = new JFrame("Calculator");
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setSize(300,400);
mainFrame.setLocationRelativeTo(null);
mainFrame.setVisible(true);
JPanel mainPanel = new JPanel();
mainFrame.add(mainPanel);
JTextField mainField = new JTextField(20);
mainPanel.add(mainField);
JLabel mainLabel = new JLabel("Orange");
mainPanel.add(mainLabel);
}
}
答案 0 :(得分:0)
默认情况下,所有组件的大小都是(0,0),因此无需绘制任何内容。
需要在setVisible()方法之前将组件添加到框架中。然后,当框架可见时,将调用布局管理器,并为组件指定大小/位置。
答案 1 :(得分:0)
调用setVisible(true)后,您正在向框架添加组件。 这个问题已经被问到了。