JFrame与用户按下X关闭按钮或按Alt+ F4(在Windows上)相同,获得关闭的正确方法是什么?
Alt+ F4(
我通过以下方式设置了我想要的默认关闭操作:
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
它完全符合我想要的上述控件的功能。这个问题不是关于这个的。
我真正想做的是使GUI的行为与按下X关闭按钮的行为相同。
假设我要扩展WindowAdaptor,然后通过来添加我的适配器的实例作为侦听器addWindowListener()。我想看到的调用相同的序列通过windowDeactivated(),windowClosing()以及windowClosed()作为将与出现X关闭按钮。可以这么说,撕开窗户与其说是将窗户本身撕开,不如说是撕开窗户。
WindowAdaptor
addWindowListener()
windowDeactivated()
windowClosing()
windowClosed()
如果你希望GUI像单击X关闭按钮那样运行,则需要向调度一个窗口关闭事件Window。在ExitAction从关闭应用程序,你可以将此功能添加到一个菜单项或使用任何组件Action小号容易。
Window
ExitAction
Action
frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));