「java父窗口关闭」java窗口关不掉
今天给各位分享java父窗口关闭的知识,其中也会对java窗口关不掉进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、关于java窗口关闭的问题
- 2、java swing 在父窗口关闭子窗口的方法
- 3、用java写的一个JPanel面板中弹出子窗口,当我关闭子窗口时,父窗口不关闭怎么做啊?
- 4、java如何设置关闭父窗口时关闭所有的子窗口?
- 5、java中如何使“点击子窗口的一个按钮时可以退回到父窗口并关闭此子窗口”?
关于java窗口关闭的问题
我碰见的有两种情况子窗口关闭导致父窗口也关闭!下面简单介绍一下。。
一种是常规的,java原装类库引起的最常见的:
[java] view plain copy
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ParentFrame extends JFrame implements ActionListener {
private JButton jb = new JButton("显示子窗口");
public ParentFrame() {
super("父窗口");
this.add(jb);
jb.addActionListener(this);
this.setBounds(100, 100, 200, 300);
this.setVisible(true);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
new ChildFrame();
}
public static void main(String[] args) {
new ParentFrame();
}
}
import javax.swing.JFrame;
public class ChildFrame extends JFrame {
public ChildFrame() {
super("子窗口");
this.setBounds(200, 200, 200, 300);
this.setVisible(true);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
}
public static void main(String[] args) {
new ChildFrame();
}
}
这种情况是setDefaultCloseOperation()参数选择的问题。
EXIT_ON_CLOSE做参数的时候使用的是System.exit方法退出应用程序。故会关闭所有窗口。
而HIDE_ON_CLOSE参数表示调用已注册的WindowListener对象后自动隐藏窗体。
第二种是用地方放类库jfreeChart,在做图标的时候出现的。下面举例
[java] view plain copy
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ParentFrame extends JFrame implements ActionListener {
private JButton jb = new JButton("显示子窗口");
public ParentFrame() {
super("父窗口");
this.add(jb);
jb.addActionListener(this);
this.setBounds(100, 100, 200, 300);
this.setVisible(true);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
new ChildFrame();
}
public static void main(String[] args) {
new ParentFrame();
}
}
import javax.swing.JFrame;
public class ChildFrame extends ApplicationFrame {
public ChildFrame() {
super("子窗口");
this.setBounds(200, 200, 200, 300);
this.setVisible(true);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
}
public static void main(String[] args) {
new ChildFrame();
}
}
注意第二种情况,不管怎么setDefaultCloseOperation都会全关闭,因为子窗口是继承了ApplicationFrame即整个应用。故所有父窗口都会关闭。
java swing 在父窗口关闭子窗口的方法
在主界面的初始化语句里添加一条语句
如果主界面用的是JFrame jf = new JFrame();
那么就
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这样子,点击这个界面的关闭按钮时就整个儿退出系统了。
如果只要关闭某几个窗口而不是所有窗口,那就在WindowListener的处理方法中关。
用java写的一个JPanel面板中弹出子窗口,当我关闭子窗口时,父窗口不关闭怎么做啊?
//在子窗口添加一句。
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//而不要用下面这句
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//补充
你是想在用户不点击右上角关闭按钮的情况下,关闭窗口。
那么参考xvqingya1所讲,用dispose();如果是在别处调用,请用子窗口的引用.disdpose();
java如何设置关闭父窗口时关闭所有的子窗口?
那要看父窗口和子窗口之间的联系,如果你设置的是setvisiable()那么关闭主窗口时,其他窗口设置为false,虽然窗口关闭了其实是隐藏起来了,你可以设当主窗口.dispost关闭
java中如何使“点击子窗口的一个按钮时可以退回到父窗口并关闭此子窗口”?
你可以在父子窗口同时分别添加main方法
这样耦合度更低
父子没有任何联系
然后在子窗口按钮中用类名调用
父窗口main方法
同时调用子窗体setVisible(false);
就行了
java父窗口关闭的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java窗口关不掉、java父窗口关闭的信息别忘了在本站进行查找喔。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。