当前位置:  开发笔记 > 编程语言 > 正文

Java GUI repaint()问题?

如何解决《JavaGUIrepaint()问题?》经验,为你挑选了1个好方法。

我有一个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()并且它有效...



1> Tom Hawtin -..:

Container.add API文档说:

注意:如果已将组件添加到已显示的容器中,则必须在该容器上调用validate以显示新组件.如果要添加多个组件,则可以在添加所有组件后仅调用一次验证来提高效率.

这是模糊的,不是很聪明,但这是规则.打电话可能更好JComponent.revalidate

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有