我有一个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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top