我有一个关于右上角红色按钮关闭应用程序(Windows 7)的快速问题...我在Java中编程了ServerSocket,但当我使用此关闭按钮关闭应用程序时,服务器会继续运行...我想捕获此事件(如果可能),并确保当按下此按钮时,包括ServerSocket在内的整个程序都已关闭。
这是一段代码,我认为我必须修改以捕捉这一事件。。。
public static void main(String[] args) {
try {
new Server().startServer();
Window1 window = new Window1();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Open the window.
*/
public void open() {
Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
任何帮助都将不胜感激。。。谢谢
您可以将WindowListener附加到它并将您需要做的任何事情放在windowCandy()方法中。
public class Test implements WindowListener {
public static void main(String[] args) {
}
public Test() {
final JFrame frame = new JFrame();
frame.addWindowListener(this);
}
@Override
public void windowOpened(WindowEvent e) {
}
@Override
public void windowClosing(WindowEvent e) {
//handle window closing, close socket, etc
}
@Override
public void windowClosed(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
@Override
public void windowActivated(WindowEvent e) {
}
@Override
public void windowDeactivated(WindowEvent e) {
}
}
在您的Display
上监听SWT.关闭
并在此Listener
中关闭服务器:
public static void main(String[] args) {
try {
new Server().startServer();
Window1 window = new Window1();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}
private static void shutdownServer()
{
/* Shutdown your server here */
}
/**
* Open the window.
*/
public void open() {
Display display = Display.getDefault();
display.addFilter(SWT.Close, new Listener()
{
@Override
public void handleEvent(Event arg0)
{
shutdownServer();
}
});
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
当用户使用窗口关闭按钮(红色X)按钮关闭任何应用程序窗口时。它会导致我的应用程序出现小部件被释放问题。当他们使用我提供的关闭应用程序关闭窗口时。一切正常。 按下车窗关闭按钮(红色X)可以使用上述代码吗
作为Java的新手,多年的iOS和。NET的经验,我发现这是非常令人困惑。我想要的是一个非常简单的对话框(从主窗口调用),带有OK和Cancel按钮。单击“确定”时,它会执行一些操作,然后关闭对话框。单击“取消”时,它只会取消对话框。 然而,使用SWT shell对话框类来实现这一点并不明显。如何获得一个按钮来关闭对话框,并将执行返回到主窗口?
我想创建一个像图片一样的按钮。我是颤动的初学者,所以我不知道如何开始。让我补充一点,我想为按钮添加一个红色发光效果。
我有一个Jframe窗口,里面有一个按钮。通过单击该按钮,它将打开一个新的JFrame窗口。但是当我关闭这个窗口时,它会自动用按钮关闭第一个Jframe窗口。当我关闭第二个Jframe窗口时,如何防止第一个Jframe窗口关闭?
问题内容: 当我在Turtle图形中运行无限循环绘图时单击X(关闭)按钮时,会出现一些错误消息。 这是一个例子: 当我关闭窗口时,将显示以下错误消息。 我想知道如何避免此类错误消息。 有什么方法可以将tkinter模块中Tk类的“协议”方法与“ WM_DELETE_WINDOW”选项一起使用? 问题答案: 是的,确实可以通过注册一个函数(我称它为,但是您可以选择任何函数名)来拦截窗口关闭事件,从而
问题内容: 对于我的应用程序,我需要空格键才能在应用程序中的任何位置(但仅在根据选项卡打开的情况下)调用独立于焦点小部件的函数。我发现可以向显示添加过滤器,如下所示: 在大多数情况下,这种方法都能正常工作,但是如果我通过“选项卡”或“移位选项卡”为按钮提供焦点,则有点奇怪- 空格键将激活“按下的按钮”,就好像单击该按钮时鼠标。我现在有点卡住了,我不知道该如何避免…对于按钮,我已经实现了Select