Java在处理数据时加载gif冻结?

我调用了一个列出目录中所有文件的方法,并将它们添加到 JTable 中:


    addFilesWithSubsButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

            reverseLoadingVisibility(loaderLabel); //set Visible

            addFilesWithSubs2(chooser, loaderLabel);

        }

    });


public void addFilesWithSubs2(JFileChooser chooser, JLabel loaderLabel) {

    //loading all files ....


    //when every file is listed:

    //Set invisible

    reverseLoadingVisibility(loaderLabel);

}

另一种方法改变了加载 .gif 所在的 JLabel 的可见性。


public void reverseLoadingVisibility(JLabel loaderLabel) {

    loaderLabel.setVisible(!loaderLabel.isVisible());

}

问题是:gif 无法播放,在将文件添加到 JTable 时冻结。


HUWWW
浏览 223回答 2
2回答

萧十郎

我的猜测是您的 addFilesWithSubs2-Method 阻塞了 UI 线程。如果您有长时间运行的任务,则必须在单独的线程中执行它们,例如SwingWorker
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java