需要帮助将JProgressBar添加到swing应用程序

时间:2013-07-19 22:50:51

标签: java swing file-upload jprogressbar

我使用以下代码使用PUT请求将文件上传到服务器。这工作正常。但我想在此代码中添加JProgressBar,您如何建议我这样做?我不确定使用哪些类来实现我需要的进度条。

RequestEntity re = new RequestEntity() {
    @Override
    public long getContentLength() {
        // TODO Auto-generated method stub
        return file.length();
    }

    @Override
    public String getContentType() {
        // TODO Auto-generated method stub
        return "application/octet-stream";
    }

    @Override
    public boolean isRepeatable() {
        // TODO Auto-generated method stub
        return true;
    }

    @Override
    public void writeRequest(OutputStream outputStream) throws IOException {
        // TODO Auto-generated method stub
        InputStream in = new FileInputStream(file);
        try {
            int l;
            byte[] buffer = new byte[1024];
            while ((l = in.read(buffer)) != -1) {
                outputStream.write(buffer, 0, l);
            }
        } finally {
            in.close();
        }
    }
};

2 个答案:

答案 0 :(得分:1)

每次读取一个字节时,将一个字节添加到计数器。提供一种方法来返回总字节数和读取的字节数。在GUI代码中,将进度条的最大值设置为字节数,并启动一个定时调用progress.setValue并使用当前读取的字节数的定时器。

答案 1 :(得分:1)

只需将javax.swing.ProgressMonitorInputStream放入输入堆栈。