Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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_Swing_Jframe - Fatal编程技术网

Java JFrame窗口不显示任何内容,除非调整大小

Java JFrame窗口不显示任何内容,除非调整大小,java,swing,jframe,Java,Swing,Jframe,我有一个扩展JFrame的接口类。我正在创建3个JPanel,并将它们添加到布局不同区域的容器(边框布局)中 当我运行应用程序时,除了一个空白窗口和一个标题外,什么也不显示。如果我调整应用程序的大小,它将显示所有的内容并按预期工作 我不确定这次我做了什么不同,我以前用过这种方法,在以前的程序中也能用 感谢您的帮助 以下是我的接口类构造函数代码: 代码: 召唤 在最后一行。因为在第setvisible行之后添加的组件只有在您调用repaint(),revalidate()后才会显示。当您调整大小时

我有一个扩展JFrame的接口类。我正在创建3个JPanel,并将它们添加到布局不同区域的容器(边框布局)中

当我运行应用程序时,除了一个空白窗口和一个标题外,什么也不显示。如果我调整应用程序的大小,它将显示所有的内容并按预期工作

我不确定这次我做了什么不同,我以前用过这种方法,在以前的程序中也能用

感谢您的帮助

以下是我的接口类构造函数代码:

代码:

召唤

在最后一行。因为在第setvisible行之后添加的组件只有在您调用
repaint(),revalidate()
后才会显示。当您调整大小时,会调用repaint()方法并正确显示框架。所以在添加所有组件后调用
setvisible

在rootPane.setDefaultButton(loginButton)行之后调用
setvisible

rootPane.setDefaultButton(loginButton);
setVisible(true);//after add all component to frame call setvisible method

非常感谢!这就是为什么它在我的上一个项目中有效,而不是在这个项目中。我放置了一个setVisible(true);但是在构造函数的开头,而不是结尾。“在调用repaint()之前不会显示”-实际上,即使这样,它们也可能不会显示,您应该调用
revalidate
,然后调用
repaint
-另外,不要链接到代码,您可以在答案中包含链接,链接会在一段时间后消失,使您的答案不那么相关;)
setVisible(true);
rootPane.setDefaultButton(loginButton);
setVisible(true);//after add all component to frame call setvisible method