我在java中制作蓝牙服务器。我有一个JFrame,我想在新线程中运行服务器。当我想停止和/或重新启动服务器时,问题就会消失。有谁知道一个好的解决方案?是否有可能调用stopServer函数,或者删除整个服务器实例?作为java线程的服务器
---//the server class---
public class BTServer implements Runnable{
protected void run(){
//run server
}
protected void stopServer() throws IOException{
//stop the server
}
}
---//the JFrame main class---
public class NewJFrame extends javax.swing.JFrame{
JButton startButton = new JButton();
JButton stopButton = new JButton();
Thread server;
public NewJFrame() {
server = new Thread(new BTServer());
}
private void startButtonActionPerformed(java.awt.event.ActionEvent evt) {
server.start();
}
private void stopButtonActionPerformed(java.awt.event.ActionEvent evt) {
//???
}
public static void main(String args[]) {
new NewJFrame().setVisible(true);
}
}
Dup的实现Runnable具有多类:http://stackoverflow.com/questions/247455/stopping-a-thread-in-java –