java怎么样通过按钮关闭一个JFrame

我有一个JAVA程序,里面有3个JFrame,每一个JFrame里面都有一个关闭按钮,点击本个里面的关闭按钮只关闭本JFrame,而对其他两个没有影响,我应该怎么写代码。... 我有一个JAVA程序,里面有3个JFrame,每一个JFrame里面都有一个关闭按钮,点击本个里面的关闭按钮只关闭本JFrame,而对其他两个没有影响,我应该怎么写代码。 展开
 我来答
fuhaiwei
2014-02-20 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1387万
展开全部
import javax.swing.JFrame;

public class FrameTest extends JFrame {

public static void main(String[] args) {
new FrameTest("frame 1");
new FrameTest("frame 2");
new FrameTest("frame 3");
}

public FrameTest(String title) {
this.setTitle(title);
this.setSize(800, 600);
// this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
// this.setDefaultCloseOperation(HIDE_ON_CLOSE);
// this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.setVisible(true);
}

}

只要在每个Frame里设定this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);即可。

EXIT_ON_CLOSE,关闭程序。(所有窗口和进程都会关闭)

DISPOSE_ON_CLOSE,只关闭本窗口。

HIDE_ON_CLOSE,只隐藏本窗口,不关闭。

DO_NOTHING_ON_CLOSE,不做任何事,点击关闭无效。

追问
请问一下:如果本页面有一个关闭按钮,点击该关闭按钮,该窗口关闭,是关闭,不是隐藏,该怎么写代码
追答
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class FrameTest extends JFrame {

public static void main(String[] args) {
new FrameTest("frame 1");
}

public FrameTest(String title) {
this.setTitle(title);
this.setSize(800, 600);
this.setLayout(new FlowLayout());
initPanel();
this.setVisible(true);
}

private void initPanel() {
JButton button = new JButton("关闭");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
this.add(button);
}

}

这很简单,只要调用dispose方法即可。隐藏是setVisible(false)。关闭程序是System.exit(0);

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式