javaSwing 关闭窗口,弹出消息框,无论我点击是,否 都关闭窗口,见代码!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaSwing 关闭窗口,弹出消息框,无论我点击是,否 都关闭窗口,见代码!相关的知识,希望对你有一定的参考价值。
//关闭窗口事件 private void WindowClosingForm(java.awt.event.WindowEvent evt) int flag = JOptionPane.showConfirmDialog(null, "确定要退出吗", "退出", JOptionPane.OK_CANCEL_OPTION); if (flag == JOptionPane.OK_OPTION) System.exit(0);
/*
即使我不加 IF语句,return; 窗口照样关闭
*/
我也去掉过System.exit(0); 这条语句也会关闭窗口
protected voidconsume()
Consumes this event, if this event can be consumed. Only low-level,
system events can be consumed
isConsumedprotected booleanisConsumed()Returns whether this event has been consumed.
C#代码像QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法
你QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法:
要么重写需要弹出的窗体的事件:
protected override CreateParams CreateParams { get { const int WS_EX_NOACTIVATE = 0x08000000; CreateParams cp = base.CreateParams; cp.ExStyle |= WS_EX_NOACTIVATE; return cp; } } // CreateParams 在 System.Windows.Forms.Controls 命名空间下
要么调用系统钩子:
// 引用系统钩子 [DllImport("user32.dll")] public static extern IntPtr GetActiveWindow(); [DllImport("user32.dll")] public static extern IntPtr SetActiveWindow(IntPtr hwnd); // 在窗口弹出时做以下处理 IntPtr activeForm = GetActiveWindow(); // 先得到当前的活动窗体 new form2.Show(false); // 弹出新窗体 SetActiveWindow(activeForm); // 在把焦点还给之前的活动窗体
以上是关于javaSwing 关闭窗口,弹出消息框,无论我点击是,否 都关闭窗口,见代码!的主要内容,如果未能解决你的问题,请参考以下文章
java swing中怎么实现点击jframe的关闭按钮后,弹出提示框?