gpt4 book ai didi

java - 为什么 ActionListener 上的一些代码被跳过?

转载 作者:行者123 更新时间:2023-12-01 09:57:24 24 4
gpt4 key购买 nike

我正在做一个关于聊天应用程序的项目。我正在使用套接字。我正在创建这个 JFrame,它使我可以选择作为服务器或客户端进行连接。当我运行选项 JFrame(选择作为服务器或客户端运行)并按下服务器按钮时,我的一些代码会在操作监听器中被跳过。我已经花了几个小时进行调试,但我不知道为什么我的一些代码被跳过。

private void serverBtnMtd() {
try {
System.out.println("Running server Method");//Testing
MyServer myServer = new MyServer();//server gets Created and shows up
myServer.initializeServer();//Skipped
myServer.setVisible(true);//Skipped
System.out.println("End Running server Method");//Testing
} catch (Exception e) {
e.printStackTrace();
}
}

Action 监听器

btnServer.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
serverBtnMtd();

}
});

我的主要方法

public class MyMain {
public static void main(String args[]) {
ServerOrClient mainApp = new ServerOrClient();
mainApp.setVisible(true);
mainApp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

当我在没有选项 JFrame 的情况下运行服务器类时,一切都会运行。所有代码的跳过都发生在 Action 监听器上。我做了一些 println 来测试我的所有代码是否都运行并且只有“运行服务器方法”显示在我的命令行中。

最佳答案

服务器通常有无限循环。所以你的代码不会被跳过,只是新的 MyServer 事情没有完成以恢复你的代码。将代码放入新线程中。

关于java - 为什么 ActionListener 上的一些代码被跳过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37084900/

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