Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 添加新组件后刷新JFrame_Java_User Interface_Jframe - Fatal编程技术网

Java 添加新组件后刷新JFrame

Java 添加新组件后刷新JFrame,java,user-interface,jframe,Java,User Interface,Jframe,我想在运行时按下按钮时向JFrame添加一些新组件。 到目前为止,这是可行的,但我必须手动调整窗口大小才能看到新组件 我是否可以启动任何操作或调用任何方法来刷新窗口?谢谢你的帮助。提前感谢。您必须重新验证()帧。如果这不起作用,您还必须调用repaint()呼叫 revalidate(); repaint(); revalidate告诉布局管理器根据新组件列表重置。这也将触发重新绘制的调用 repaint用于告诉组件重新绘制自身。在javarepaint()中为我工作。而revalidate(

我想在运行时按下按钮时向JFrame添加一些新组件。 到目前为止,这是可行的,但我必须手动调整窗口大小才能看到新组件


我是否可以启动任何操作或调用任何方法来刷新窗口?谢谢你的帮助。提前感谢。

您必须
重新验证()帧。如果这不起作用,您还必须调用
repaint()

呼叫

revalidate();
repaint();
revalidate
告诉布局管理器根据新组件列表重置。这也将触发重新绘制的调用


repaint
用于告诉组件重新绘制自身。

在java
repaint()中为我工作。而
revalidate()不为我工作

ok不得不在我的课堂上有点自大,但它起作用了!(顺便说一句,您的意思是validate()对吗?;)事实上,由于JFrame已经是顶级容器,您只需调用validate();。嗯,一般来说,组件是添加到JPanel的,而不是直接添加到框架中,因此您需要重新验证面板。重新喷漆有效,而重新验证无效-知道为什么吗?