Java图形用户界面应用程序框架在启动时没有正确显示?

3
我使用Java Swing库制作了这个TicTacToe应用程序。自从我添加了菜单后,它就不能按预期启动了。我的意思是,功能是好的,但有时候在启动时会显示出图片中所示的三种不良方法之一。然而,一旦我最大化和最小化框架,它就会以所需的方式显示。
请帮我修复这个问题。

1
只需将 frame.setVisible(true); 移动到 setUpFrame() 方法的末尾即可 :) - user2635439
如果您不希望用户调整窗口大小并且失去形状,请添加 frame.setResizable(false) - Lukino
@amitfarag:太棒了。谢谢你。 :) - B-Mac
@Grendan 没问题 :) 我写了一个带有小提示的答案,玩得开心 :D - user2635439
3个回答

5

当您已经启动了窗体后,再添加组件。请在添加所有组件后才调用frame.setVisible(true);,否则您将不得不重新验证容器。一旦容器可见并布局完成,如果您添加或删除组件,则必须调用validate/revalidate


3
您正在添加所有项目之前显示框架。
public void setUpFrame() {
    ...

    frame.setVisible(true);
}

2
只需将frame.setVisible(true);移动到setUpFrame()方法的结尾即可:)
我知道我已经回答了你的问题,但我制作了这个答案是因为我发现如果我按退出菜单项,它会“关闭”窗口,但它仍然在后台保持打开状态。
如果您想要完全关闭程序,请在item_exit ActionListener中使用System.exit(0);而不是frame.setVisible(false); 好玩游戏,继续编程;)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接