我有一个JFrame。这个JFrame包含一个JButton。我单击JButton并创建了10个JTextField。
问题: 直到“我通过调整窗口大小强制重绘()”,我才能看到它们。只有这样我才能看到创建的JTextField。CODE:
JPanel points = new JPanel();
//Creating the JTextFields:
for (int i=0; i<10; i++) {
JTextField textField = new JTextField();
points.add(textField);
}
repaint();
this.repaint();
super.repaint();
points.repaint();
谢谢 - 在for循环之后,我只调用了points.validate()并且它有效...
答案 0 :(得分:15)
Container.add
API文档说:
注意:如果已添加组件 一个已经显示的容器, 必须调用validate 容器显示新的 零件。如果是多个组件 被添加,你可以改善 通过仅调用验证来提高效率 一旦完成所有组件之后 已被添加。
这是模糊的,不是很聪明,但这是规则。最好拨打JComponent.revalidate