gpt4 book ai didi

java - Java GUI 中的退出冲突

转载 作者:行者123 更新时间:2023-11-29 08:08:46 25 4
gpt4 key购买 nike

我在修复我的 Java 程序中的两个 GUI 时遇到了另一个问题。假设我们有一个新的 JFrame:

public class guiOne {

public static void main (String [] agrs) {
JFrame f = new JFrame();
JButton b = new JButton();
JPanel p = new JPanel();

b.setSize(100,100);
f.setTitle("New JFrame");
f.setVisible(true);
f.setSize(300,300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p.add(b);
f.add(b);
}

当我单击新建按钮时,会出现一个新的 JFrame。我遇到的问题是当我添加这段代码时:

System.exit(guiOne);

所有导出。我只希望 guiOne 在我启动新的 JFrame 时立即退出。为什么它会关闭所有内容?

最佳答案

f.setVisible(true); 必须是容器构造函数中的最后一行代码

1) 永远不要创建新的 JFrame作为另一个顶级容器,使用 JDialog与父 JFrame 和/或 setModal()/ModalityTypes 如果需要

2) 不要创建一个新的Top-Level Container,只创建一次这个contaai​​ner然后用getComtentPane.removeAll()重复使用它

3) 你看过CardLayout对于简单易行的实现,更容易在屏幕上玩另一个 JFrame/JDialog

4) JTabbedPane是另一种方法如何做到这一点

关于java - Java GUI 中的退出冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9495608/

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