Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将Zip状态框添加到JFrame_Java_Swing_Jframe_Zip_Extract - Fatal编程技术网

Java 如何将Zip状态框添加到JFrame

Java 如何将Zip状态框添加到JFrame,java,swing,jframe,zip,extract,Java,Swing,Jframe,Zip,Extract,我是Java新手,所以我希望您不要编写太复杂的代码,或者只是描述代码的含义 让我解释一下我想要什么: 我制作了一个带有“安装”按钮的JavaGUI。此按钮的功能是将Zip文件解压缩到特定文件夹 public void mouseClicked(MouseEvent event) { if (event.getSource() == button_normal) { button_normal.setPressedIcon(button_hover_img);

我是Java新手,所以我希望您不要编写太复杂的代码,或者只是描述代码的含义

让我解释一下我想要什么:

我制作了一个带有“安装”按钮的JavaGUI。此按钮的功能是将Zip文件解压缩到特定文件夹

public void mouseClicked(MouseEvent event) {
    if (event.getSource() == button_normal) {
        button_normal.setPressedIcon(button_hover_img);
        try {
            unzip();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
所以这个方法只调用unzip方法

现在,我希望提取的文件显示在文本区域中。如果文本太长,框应在其两侧添加滚动按钮

message_output.setText(message);
当我在解压方法中设置此代码时,它只会在程序提取所有文件后写入字符串(其中包含所有文件的提取路径)。此外,如果文本太长,它不会在侧面添加滚动按钮

如何在提取文件时将文本逐个添加到文本区域

谢谢

到目前为止

如何在提取文件时将文本逐个添加到文本区域

您需要创建一个单独的线程来执行文件提取。然后,当您开始提取每个文件时,您将更新GUI

最简单的方法是使用
SwingWorker
,因为您可以在提取每个文件时“发布”它

有关更多信息和SwingWorker示例,请阅读上Swing教程的部分