我有一个 JFrame。该 JFrame 包含一个 JButton。我单击 JButton,然后创建了 10 个 JTextField。
问题:
在通过调整窗口大小“强制重新绘制()”之前我看不到它们。只有这样我才能看到创建的 JTextFields。
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() 并且它起作用了......
Container.add http://java.sun.com/javase/6/docs/api/java/awt/Container.html#add(java.awt.Component)API 文档说:
注意:如果已添加组件
已显示的容器,
必须对此调用 validate
用于显示新内容的容器
成分。如果有多个组件
添加后,您可以改进
仅调用 validate 来提高效率
一次,在所有组件都完成之后
已添加。
这很晦涩,也不是很聪明,但这就是规则。打电话可能会更好JComponent.revalidate
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)