swing窗体跳转页面不出内容并卡死

 

swing界面是单线程的,一次只能有一个组件响应,一旦监听事件需要执行很久,则会发生界面的卡死,刷新也就徒劳。于是发生了当执行完毕后界面才刷新成功的情况。

可以将执行的方法放在一个线程中执行,与swing界面的线程并行,这样界面就不会被锁

    private void button2ActionPerformed(ActionEvent e) {
        // TODO add your code here
        //执行进程
        new Thread(()->{
            select = comboBox1.getSelectedIndex();
            //renewThread.start();
            switch (select) {
                case 0: {
                    processScheduling.FCFS();
                    break;
                }
                case 1: {
                    processScheduling.SPF();
                    break;
                }
            }
        }).start();
    }