我有一个JFrame.这个JFrame包含一个JButton.我单击JButton并创建了10个JTextField.
问题:直到"通过调整窗口大小强制重绘()",我才能看到它们.只有这样我才能看到创建的JTextFields.
码:
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文档说:
注意:如果已将组件添加到已显示的容器中,则必须在该容器上调用validate以显示新组件.如果要添加多个组件,则可以在添加所有组件后仅调用一次验证来提高效率.
这是模糊的,不是很聪明,但这是规则.打电话可能更好JComponent.revalidate