我有以下问题。我有一个带有按钮的小表单(我们在这里谈论JAVA),它通过与服务器的套接字连接发送表单中的数据。现在,当我按下按钮时,它正在进行单一连接,但同时,如果你找到我,按钮仍保持“按下”状态。动作之后,由actionlistener激活,已经完成(连接,发送数据,关闭连接)按钮被释放。
现在我的问题是,是否有一个简单的解决方法,如果是这样(或不是),我该如何解决这个问题?
提前致谢。
submit.addActionListener(this);
这是其中的一部分,但我希望在文中明确说明。
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == submit) {
boodschap = testtext.getText();
// System.out.println(boodschap);
try {
try {
UserConnection connect = new UserConnection(boodschap);
} catch (SQLException ex) {
Logger.getLogger(UserAction.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(UserAction.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
(哦,这个代码就像一个魅力。代码没有任何问题,它只是显示给你一个我的意思的指示。)
答案 0 :(得分:3)
问题是您正在UI线程上执行长时间运行的操作。如果您将代码放入SwingWorker或甚至放入Runnable并在新线程中运行它应该解决您的问题