Java图形用户界面重绘()的问题?
-
21-08-2019 - |
题
我有一个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(后)和它的工作...
解决方案
Container.add
API文档sayeth:
注意:如果一个组件已被添加到 已显示的容器中, 验证必须在那个叫 容器以显示新 零件。如果多个组件 作为补充,可以提高 通过调用只验证效率 一次,以后所有的部件都 被添加。
这是模糊的,而不是很聪明,但它的规则。它可能是更好调用JComponent.revalidate
不隶属于 StackOverflow