「java父窗口关闭」java窗口关不掉

博主:adminadmin 2022-11-30 03:00:13 47

今天给各位分享java父窗口关闭的知识,其中也会对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父窗口关闭的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。