精华内容
下载资源
问答
  • 我通过以下方式设置我的默认关闭操作:setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);它完全符合我想要的上述控件。这个问题与此无关。我真正想要做的是使GUI的行为方式与按下X关闭按钮会导致它的行为相同。假设...

    问题

    让aJFrame关闭的正确方法是什么,就像用户点击了X关闭按钮,或者按下了F4(在Windows上)?

    我通过以下方式设置我的默认关闭操作:

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    它完全符合我想要的上述控件。这个问题与此无关。

    我真正想要做的是使GUI的行为方式与按下X关闭按钮会导致它的行为相同。

    假设我要扩展WindowAdaptor,然后通过addWindowListener()添加我的适配器实例作为监听器。我想通过Xclose按钮看到相同的调用序列通过windowDeactivated(),windowClosing()和windowClosed()。可以这么说,撕毁窗户就像告诉它撕裂自己一样。

    #1 热门回答(266 赞)

    如果你希望GUI的行为就像你单击了X关闭按钮,那么你需要将窗口关闭事件分派给Window。 TheExitActionfromClosing An Application允许你将此功能添加到菜单项或任何轻松使用Action的组件。

    frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));

    #2 热门回答(117 赞)

    setVisible(false); //you can't see me!

    dispose(); //Destroy the JFrame object

    不太狡猾。

    #3 热门回答(24 赞)

    如果用Alt-F4或X表示"立即退出应用程序而不考虑其他Windows或线程正在运行",那么System.exit(...)将以非常突然,暴力和可能有问题的方式完全按照你的意愿行事。

    如果按Alt-F4或X表示隐藏窗口,那么frame.setVisible(false)就是"关闭"窗口的方式。窗口将继续消耗资源/内存,但可以非常快速地再次显示。

    如果用Alt-F4或X表示隐藏窗口并处理它正在消耗的任何资源,那么frame.dispose()就是你如何"关闭"窗口。如果框架是最后一个可见窗口并且没有其他非守护程序线程在运行,程序将退出。如果再次显示该窗口,则必须再次重新初始化所有本机资源(图形缓冲区,窗口句柄等)。

    dispose()可能最接近你真正想要的行为。如果你的应用程序打开了多个窗口,你是否希望Alt-F4或X退出应用程序或关闭活动窗口?

    展开全文
  • 要禁用对a的关闭操作JFrame,当用户单击上的关闭图标时JFrame,我们可以将默认关闭操作的值设置为WindowConstants.DO_NOTHING_ON_CLOSE。packageorg.nhooo.example.swing;importjavax.swing.JButton;importjavax....

    要禁用对a的关闭操作JFrame,当用户单击上的关闭图标时JFrame,我们可以将默认关闭操作的值设置为WindowConstants.DO_NOTHING_ON_CLOSE。package org.nhooo.example.swing;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.SwingUtilities;

    import javax.swing.WindowConstants;

    import java.awt.Dimension;

    import java.awt.FlowLayout;

    import java.awt.HeadlessException;

    public class DisableCloseButtonDemo extends JFrame {

    public DisableCloseButtonDemo() throws HeadlessException {

    initialize();

    }

    public static void main(String[] args) {

    SwingUtilities.invokeLater(() -> new DisableCloseButtonDemo().setVisible(true));

    }

    private void initialize() {

    // WindowConstants.DO_NOTHING_ON_CLOSE告诉JFrame实例要做

    // 发生窗口关闭事件时没有任何反应。

    this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);

    JButton button = new JButton("Close");

    button.addActionListener(e -> System.exit(0));

    this.setLayout(new FlowLayout(FlowLayout.CENTER));

    this.setSize(new Dimension(100, 100));

    this.getContentPane().add(button);

    }

    }

    展开全文
  • choose 有3个值,除了上面两个外还有用户直接点击关闭对话框按钮 JFrame关闭窗口的方法 public void setDefaultCloseOperation(int operation) operation默认是 HIDE_ON_CLOSE 所以要用WindowListener则必须把...

    frame.addWindowListener(new WindowAdapter() {

    @Override

    public void windowClosing(WindowEvent e) {

    int choose = JOptionPane.showConfirmDialog(null, "您确认要退出吗?",

    "message提示", JOptionPane.YES_NO_OPTION);

    if (choose == JOptionPane.YES_OPTION) {

    System.exit(0);

    } else if (choose == JOptionPane.NO_OPTION) {

    return;//这里就不见了jframe,但是程序没有退出的。应该只是隐藏了。 我打印出visible属性是true

    }

    }

    });

    choose 有3个值,除了上面两个外还有用户直接点击关闭对话框按钮

    JFrame关闭窗口的方法

    public void setDefaultCloseOperation(int operation)

    operation默认是 HIDE_ON_CLOSE

    所以要用WindowListener则必须把operation设置为

    DO_NOTHING_ON_CLOSE

    参照API:

    setDefaultCloseOperationpublic void setDefaultCloseOperation(int operation)

    设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下选项之一:

    DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。

    HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。

    DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。

    EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。

    默认情况下,该值被设置为 HIDE_ON_CLOSE。更改此属性的值将导致激发属性更改事件,其属性名称为 "defaultCloseOperation"。

    补充:

    只需要添加或修改下面这行就行了

    this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

    展开全文
  • EXIT_ON_CLOSE (defined in JFrame): Exit the application using the System exit method. Use this only in applications. The value is set to HIDE_ON_CLOSE by default. Changes to the value of this ...

    DO_NOTHING_ON_CLOSE (defined in WindowConstants): Don’t do anything; require the program to handle the operation in the

    windowClosing method of a registered WindowListener object.

    HIDE_ON_CLOSE (defined in WindowConstants): Automatically hide the frame after invoking any registered WindowListener objects.

    DISPOSE_ON_CLOSE (defined in WindowConstants): Automatically hide and dispose the frame after invoking any registered WindowListener

    objects.

    EXIT_ON_CLOSE (defined in JFrame): Exit the application using the System exit method. Use this only in applications.

    The value is set to HIDE_ON_CLOSE by default. Changes to the value of

    this property cause the firing of a property change event, with

    property name “defaultCloseOperation”.

    展开全文
  • 我是整个Java Swing / AWT对话框的新手(它说明了该对话框的外观如何业余,欢迎更好地安排它:),并且当我单击两个JButton中的任何一个时,我都在努力关闭此弹出窗口.我已经尝试过诸如frame.dispose(),frame.setVisible...
  • 主界面上有一个JButton按钮,按下JButton后弹出一个新的JFrame窗口,但是在我关闭新的JFrame窗口之后,原来的主窗体无法被操作,怎么解决?
  • 首先在Exit_on_close中设置j帧默认关闭事件 . 其次创建一个名为“Window Closing Event Handler”的类,然后在i nit阶段调用它 .private void WindowClosingEventHandler(){ addWindowListener(new WindowAdapter() ...
  • 当用户关闭JFrame窗口时,如何调用额外的操作?我必须停止现有的线程.据我了解,setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);导致框架关闭并且其线程停止.是否应该在JFrame.EXIT_ON_CLOSE之后关闭线程?客户:...
  • JFrame窗口关闭方式

    2020-05-20 15:07:25
    Java JFrame窗口关闭方法总结 public void setDefaultCloseOperation(int operation): 默认关闭状态:JFrame.class中: private int defaultCloseOperation =HIDE_ON_CLOSE; 因此,默认情况下,关闭窗口,只隐藏...
  • JFRAME关闭设置

    千次阅读 2018-05-02 14:49:39
    JFRAME弹出新的FRAME以后,关闭新的FRAME会同时关闭整个应用,遍寻网络之后,找到解决方案:JFRAME默认的关闭事件有三个选项:JFrame.defaultCloseOperation(int option)JFrame.EXIT_ON_CLOSE -- 退出应用....
  • importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;publicclassFrameTestextendsJFrame{publicsta...
  • JFRAME关闭

    千次阅读 2010-08-27 12:23:00
    JFRAME关闭,使用 frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);将JFrame关闭之后,CPU依然占50%,Console中也红灯依然是亮的public CloseFrameAction extends WindowAdapter{ public ...
  • JFrame关闭事件处理

    千次阅读 2019-10-07 04:01:03
    1、JFrame实现WindowListener 2、将当前窗口加入监听 this.addWindowListener(this);  //按关闭按钮,啥事也不做 this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); 3、实现windowClosing方法 /** ...
  • jframe是frame的子类,即jframe继承自frame。jframe是javax.swing.jframe的类,frame是java.awt.frame的类。...1.jframe关闭方式:设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下...
  • JFrame是Frame的子类,即JFrame继承自Frame。JFrame是javax.swing.JFrame的类,Frame是java.awt.Frame的类。...1.JFrame关闭方式:设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下...
  • //通常添加这行代码,点击窗口右下角的关闭时会结束程序 setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//右下角的关闭,不主动采取任何行动 //当点击窗口右上角的关闭按钮时候的响应器 addWindowListener...
  • JFrame关闭子窗口

    千次阅读 2016-03-14 22:57:22
    对于主窗口,可以使用下面的方法关闭,整个程序也相应退出, setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 但是,如果要关掉子窗口,子窗口的相关资源也要释放,但是主程序不能退出,那么就要使用dispose()...
  • 程序:package JFrame.bao;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing....
  • JFrame

    2018-12-13 10:47:45
    贴字之类的,在开发应用程序时可以通过继承java.swing.JFrame类创建一个窗体,在这个窗体中添加组件,同时为组件设置事件,由于继承了JFrame所以它拥有最大化,最小化,关闭的按钮。(遗传的他爹的) 。我们要有这个...
  • JFrame关闭函数

    千次阅读 2008-05-18 19:31:00
    JFrame关闭 1dispose:关闭窗口并收回用于创建窗口的任何系统资源 ,但是不关闭程序2加上了这句话后setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)在关闭窗口的同时会关闭程序32等同于以下的程序片段jFrame....
  • Java JFrame窗口关闭方法总结

    万次阅读 多人点赞 2017-07-27 13:42:00
    Java JFrame窗口关闭方法总结  之前写窗口时每次都是直接copy关闭的方法,没有想过其它的,最近写的窗口比较多,就总结了一些窗口关闭的方法有哪些,方便以后自己查阅。  public void setDefaultCloseOperation...
  • class mainFrame extends JFrame { JFrame mframe; public mainFrame() { mframe=new JFrame("主窗口"); //super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); super.setVisible(true); super.setSize(400,500...
  • java JFrame 关闭窗口时确认

    千次阅读 2016-07-01 19:56:18
    在点击了窗口的关闭按钮时,弹出确认对话框,如果点击“是”就关闭窗口(关闭程序),否则什么都不做。 主要代码如下: public class MainFrame extends JFrame{ public MainFrame (){ ...
  • JFrame关闭s实现

    2017-12-06 11:01:17
    直接来代码,对于new出来的JFrame进行如下操作。 frame.setVisible(false);

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 906
精华内容 362
关键字:

关闭jframe