【发布时间】:2016-02-08 03:24:38
【问题描述】:
我使用接受浏览器请求的 ServerSocket 在 Java 中创建了一个简单的 HTTP 服务器。服务器工作正常,没有任何错误。我使用 Swing 创建了一个 JForm,其中包含用于启动和停止服务器的按钮。在开始按钮中,我添加了一个运行 ServerMain 类的 ActionListener。
btnStartServer.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
try {
new Thread(new Runnable() {
public void run() {
ServerMain.main(new String[0]);
}
}).start();
} catch (Exception e) {
e.printStackTrace();
}
}});
如何创建一个停止 Runnable() 线程的 Stop JButton?
【问题讨论】:
-
你能分享ServerMain.main()代码吗?
-
没有保证停止
Thread的方法,然后在线程中编写代码以支持它。您的服务器应该正在监视当前线程的中断状态,并且您应该有一个标志(可能是AtomicBoolean),您可以更改并检查其状态以确定线程的状态
标签: java multithreading swing