gpt4 book ai didi

套接字编程中的 Java 拖放问题

转载 作者:行者123 更新时间:2023-12-02 02:23:54 24 4
gpt4 key购买 nike

我一直在尝试使用java套接字开发一个软件,在使用拖放之前,我的代码按照我想要的方式工作。然而,将其与拖放结合起来后,我得到了非常意想不到的结果。以下是我的代码的服务器类的一些代码片段。

    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 block 然后运行我的代码时,代码的 GUI 部分会显示在屏幕上。但是,当我不注释掉该部分时,我的代码在屏幕上不会显示任何内容,并且由于如果我省略了 try-catch 部分,我的代码将无法工作,因为它是我的服务器连接到客户端的地方,所以我不会确定要做什么或如何解决问题。有什么建议吗?

最佳答案

我相信您的套接字服务器正在等待连接。该代码应该在与事件调度线程不同的线程上运行。查看您的代码正在做什么并重新组织它。

关于套接字编程中的 Java 拖放问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48076864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com