套接字编程中的Java拖放问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了套接字编程中的Java拖放问题相关的知识,希望对你有一定的参考价值。
我一直在尝试使用java套接字开发软件,在使用Drag and Drop之前,我的代码就像我想要的那样工作。然而,在将它与拖放相结合后,我得到了意想不到的结果。以下是我的代码的服务器类的一些代码片段。
public ServerFirstPage() {
initComponents();
this.setLocationRelativeTo(null);
try {
System.out.println("in the try block");
ServerSocket ss = new ServerSocket(3389);
server = ss.accept();
// new generatePassword(server);
} catch (IOException ex) {
Logger.getLogger(ServerFirstPage.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(ServerFirstPage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ServerFirstPage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ServerFirstPage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ServerFirstPage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ServerFirstPage().setVisible(true);
System.out.println("entered");
}
});
}
首先,我应该提到主类和构造函数中的代码是由Netbeans生成的。我的问题是,当我在ServerFirstPage()中注释掉try-catch块然后运行我的代码时,我的代码的GUI部分会显示在我的屏幕上。但是当我没有注释掉那部分时,我的代码在屏幕上没有显示任何内容,因为如果我省略了try-catch部分,我的代码将无效,因为它是我的服务器连接到客户端的地方,我不是确定该做什么或如何解决问题。有什么建议?
答案
我相信您的套接字服务器正在等待连接。该代码应该在与事件派发线程不同的线程上运行。查看您的代码正在执行的操作并重新组织它。
以上是关于套接字编程中的Java拖放问题的主要内容,如果未能解决你的问题,请参考以下文章