课程设计中Swing编程的问题 我建立了几个不同的窗口,但是为什么我关闭一个窗口,其他窗口也全关闭了,为什么啊????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 估计有可能是你用了 System.exit()方法,这个方法会导致整个应用程序退出,而不是单独关闭一个窗口 没有用 system.exit()方法,我用的是setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 代码我贴到下面好了 第一个java。class文件代码如下:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class tb extends JFrame{ JButton btn; public tb(){ Container c=getContentPane(); btn=new JButton("新建个窗口"); btn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new NewFrame(); } }); c.add(btn,"South"); setBounds(300,300,300,300); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new tb(); }}第二个java.class文件代码如下:import java.awt.*;import javax.swing.*;public class NewFrame extends JFrame { public NewFrame(){ JLabel label=new JLabel("为什么我点击窗口的关闭键俩个窗口都会关掉?"); getContentPane().add(label); setBounds(100,100,300,200); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}请问为什么会这样??帮忙呀!! EXIT_ON_CLOSE 参考文档是这么说的: 退出应用程序后的默认窗口关闭操作。 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);这句话的意思就是窗口在点机关闭按扭(右上角那个×)时关闭整个程序,不论有多少个窗口,只要是属于这个程序,都会一起关闭,如果你想不这样的话,可以把第一个窗口继续设置setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);这个属性,作为主界面,第二个窗口在main方法里直接像第一个一样new出来,然后用tb界面里的按钮来控制他的setVisible属性,让他显示后者隐藏,这样就不涉及关闭程序的问题了。 你的意思应该是把窗口设为最小,而不是关闭,不要调用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)这个方法,这个会直接退出程序的,有个setMin***之类的方法你看看 准备自学JAVA ,希望前辈推荐书! 用过dorado的前辈来指点一下 急! spring 声明式事务不起作用 EJB3。0中 EJBQL条件查询求救,LIST数组 在solaris下tomcat的安装问题,急,在线等!!! 为何国内没有呢? 利用反射的问题,报错异常十分奇怪! 急急急,运行简单的EJB搞了三个小时都出错 maven是什么? java 业务启动顺序遍历算法 关于hql语句设置参数,数据库字段为char类型的问题 请教关于hibernate的视图映射?
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class tb extends JFrame{
JButton btn;
public tb(){
Container c=getContentPane();
btn=new JButton("新建个窗口");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new NewFrame();
}
});
c.add(btn,"South");
setBounds(300,300,300,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new tb();
}
}第二个java.class文件代码如下:import java.awt.*;
import javax.swing.*;
public class NewFrame extends JFrame {
public NewFrame(){
JLabel label=new JLabel("为什么我点击窗口的关闭键俩个窗口都会关掉?");
getContentPane().add(label);
setBounds(100,100,300,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
请问为什么会这样??帮忙呀!!
参考文档是这么说的: 退出应用程序后的默认窗口关闭操作。
这句话的意思就是窗口在点机关闭按扭(右上角那个×)时关闭整个程序,不论有多少个窗口,只要是属于这个程序,都会一起关闭,如果你想不这样的话,可以把第一个窗口继续设置setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);这个属性,作为主界面,第二个窗口在main方法里直接像第一个一样new出来,然后用tb界面里的按钮来控制他的setVisible属性,让他显示后者隐藏,这样就不涉及关闭程序的问题了。