Java最有效的创建Button actionListener的方法?

时间:2017-10-09 19:00:38

标签: java multithreading jframe jbutton edt

我正在开发一个涉及GUI的项目。在JFrame上,我有几个JButton在单击时执行特定操作。现在问题是,在我写的代码中,每次单击按钮时,它们都会生成一个新线程。我这样做是因为我知道如果一切都发生在同一个线程上,JFrame会冻结,但我觉得创建那么多线程效率不高。虽然程序现在功能很好,但我仍然希望从程序中删除多余的部分。应该将所有GUI内容放在“InvokeLater”中吗?但是GUI中也不是jButton吗?这些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();
            }
        });

0 个答案:

没有答案