我正在从事一个涉及 GUI 的项目。在 JFrame 上,我有几个在单击时执行特定操作的 JButton。现在的问题是,使用我编写的代码,每次单击按钮时,它们都会生成一个新线程。我这样做是因为我了解到如果所有事情都发生在同一个线程上,JFrame 会冻结,但我觉得创建这么多线程效率不高。虽然程序现在运行得很好,但我仍然希望从程序中删除多余的部分。应该把所有的 GUI 东西放在“InvokeLater”中吗?但是 jButtons 不是也在 GUI 中吗?这些 Button 执行的某些操作需要现有的 GUI,因此很难将它们分开......有什么想法吗?这是按钮的示例。
JButton buttonA4= new JButton("Deact Crew");
buttonA4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Thread hilo = new Thread(new Runnable()
{
public void run() {
DinnerList.deactivateGroup(tempJobCrew.getCrews());
studentTable.repaint();
}
});
hilo.start();
}
});