gpt4 book ai didi

java - JOptionPane 确认对话框后 Canvas 右侧和底部出现白条?

转载 作者:行者123 更新时间:2023-12-01 09:47:51 25 4
gpt4 key购买 nike

所以,伙计们,使用 JOptionPane 询问用户应用程序是否应该更新,然后我在 Canvas 的底部和右侧看到这些白色条。尝试删除自动更新的东西并且工作正常。这是我的代码

GameUtils.init();
String version = AutoUpdate.checkForUpdates();
if (Double.parseDouble(version) > AutoUpdate.VERSION) {
AutoUpdate.update(version);
JFrame frame = null;

try
{
frame = new JFrame(GameUtils.data.getString("title"));
} catch (JSONException e)
{
e.printStackTrace();
}

frame.getContentPane().setPreferredSize(new Dimension(1000, 500));
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setResizable(false);
frame.pack();
frame.setLocationRelativeTo(null);
GameUtils.instance = new Game(frame);

frame.addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {

}

@Override
public void windowClosing(WindowEvent e) {
GameUtils.instance.stop();
System.exit(0);
}

@Override
public void windowClosed(WindowEvent e) {


}

@Override
public void windowIconified(WindowEvent e) {

}

@Override
public void windowDeiconified(WindowEvent e) {

}

@Override
public void windowActivated(WindowEvent e) {

}

@Override
public void windowDeactivated(WindowEvent e) {

}
});
frame.setVisible(true);
GameUtils.instance.start();
}

here is how it looks协调系统工作正常我希望它看起来像这样 I want it to look this way

最佳答案

当我在 JFrame 中使用 setResizable(false) 和 pack() 方法时,我遇到了与您注意到的相同问题。 Here您可以找到描述问题的答案,但我没有找到适合我的解决方案。

在我的应用程序中,如果需要,我会使用一种“技巧”:我检查 contentPane 的首选宽度是否等于其有效宽度,如果不是,我会调用 pack() 方法。

类似于:

for(int i=0;i<5 && contentPane.getPreferredSize().width!=contentPane.getSize().width;i++) frame.pack();

当然这不是一个很好的解决方案,但它对我有用,如果你使用一个参数来限制 pack() 应该发生的最大次数,你就不会冒阻塞你的 gui 的风险。 .

关于java - JOptionPane 确认对话框后 Canvas 右侧和底部出现白条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37840360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com