我正在做一个网络项目。我在 Java 项目控制台应用程序下编译了一个代码,它可以工作。但是,当我创建一个 GUI 并将代码分配为在按下按钮时运行时,它会在单击按钮时挂起。
这是源代码:
@Action
public void EstablishConnection() {
serverAddress = jTextFieldServerAddress.getText();
serverPort = Integer.parseInt(jTextFieldPort.getText());
serverUName = jTextFieldUName.getText();
serverUPwd = jTextFieldUPwd.getText();
try {
client = new FTPClient();
client.connect(serverAddress, serverPort);
boolean login = client.login(serverUName, serverUPwd);
if(login) {
System.out.println("Successfully logged in\n");
}
else {
System.out.println("Unable to login\n");
}
}
catch(Exception ex) {
System.out.println("Exception Raised: " + ex);
}
}
在 swing 应用程序中按下按钮时调用该操作。它不适合我。但它对于控制台应用程序来说运行速度非常快。
最佳答案
每当我看到“挂起”这个词时,我就假设您需要使用一个单独的线程来执行挂起的代码。参见 Concurrency in Swing寻求解决方案。
关于Java JButton和swing问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7371479/