Java 引发异常后的空白消息对话框
我正在学习Java,并尝试制作一个简单的客户机-服务器应用程序。我的服务器有GUI和启动服务器的按钮。单击后,将启动另一个线程。我称之为主服务器线程,因为它处理连接和handels客户端。我也有关闭服务器的按钮,但不是整个应用程序。我关闭ServerSocket以中断此线程,以便停止服务器。我希望消息对话框弹出inf finally块,通知我服务器停止运行。 下面是服务器运行方法的简化和修改代码:Java 引发异常后的空白消息对话框,java,swing,exception-handling,joptionpane,event-dispatch-thread,Java,Swing,Exception Handling,Joptionpane,Event Dispatch Thread,我正在学习Java,并尝试制作一个简单的客户机-服务器应用程序。我的服务器有GUI和启动服务器的按钮。单击后,将启动另一个线程。我称之为主服务器线程,因为它处理连接和handels客户端。我也有关闭服务器的按钮,但不是整个应用程序。我关闭ServerSocket以中断此线程,以便停止服务器。我希望消息对话框弹出inf finally块,通知我服务器停止运行。 下面是服务器运行方法的简化和修改代码: public void run(){ try{ JOptionPane.sho
public void run(){
try{
JOptionPane.showMessageDialog(null,"begining");
ss = new ServerSocket(TCP_PORT);
while(cont){
Socket sock = ss.accept();
exec.execute(new ServerThread(sock));
}catch(SocketException soex){
//JOptionPane.showMessageDialog(null,"SocketException");
}finally{
JOptionPane.showMessageDialog(null,"finally");
}
//JOptionPane.showMessageDialog(null,"after finally");
}
第一个消息对话框显示正确,但当其他3个对话框中的一些由于异常而弹出时,我只得到带有标题和窗口边框的灰色消息对话框,但没有消息或任何按钮。我无法关闭它,我无法关闭我的应用程序。它在那里卡住了
我使用的是Ubuntu,它是用开放jdk javac版本“1.7.0_25”编译的,并用相同版本的java运行。我还尝试了版本1.6,以及Oracle 1.7.0_25(java和javac)。每次我都得到同样的结果
这里的问题是什么?我如何解决它?- 您对所有更新都有问题
- 所有必须在上创建,对其派生项()有效
- 请参阅,然后应用程序是TaskManager的候选程序(仅可能终止)
- 您对所有更新都有问题
- 所有必须在上创建,对其派生项()有效
- 请参阅,然后应用程序是TaskManager的候选程序(仅可能终止)