Java ProgressMonitorInputStream不工作?

Java ProgressMonitorInputStream不工作?,java,swing,Java,Swing,我正在尝试一个简单的基于套接字的文件传输程序来包含ProgressMonitorInputStream,我的文件传输工作正常。但是progressMonitor从未出现过。 我正在从服务器向客户端发送一个文件,当它连接时,我的文件被完美地传输了,但我不明白为什么ProgressMonitor没有出现 我搜索了一些示例,他们在PMIS中使用“this”而不是“new Jframe()”,但由于我在main()中,所以不允许我这样做 //client InputStream is = sock.ge

我正在尝试一个简单的基于套接字的文件传输程序来包含ProgressMonitorInputStream,我的文件传输工作正常。但是progressMonitor从未出现过。
我正在从服务器向客户端发送一个文件,当它连接时,我的文件被完美地传输了,但我不明白为什么ProgressMonitor没有出现

我搜索了一些示例,他们在PMIS中使用“this”而不是“new Jframe()”,但由于我在main()中,所以不允许我这样做

//client
InputStream is = sock.getInputStream();
BufferedInputStream bis = new BufferedInputStream(
new ProgressMonitorInputStream(new JFrame(),"reading",is));
while ((read = bis.read(buffer,0,buffer.length)) != -1) {
//read from socket...now write to file 
}    
您已经阅读了有关的教程,这里有关于的基本描述


Swing是,如果您想使用
进度
,则必须将此
重定向到
BackroundTask
,关于
JProgressBar
implements的教程,另一个选项是将其包装到
可运行线程
,但在这种情况下,GUI的输出必须包装到
invokeLater()中

我不理解tuts上的SwingWorker,但如果我使用“this”,我会得到一个错误,构造函数…未定义,它不接受我类的对象。我没有使用任何窗口,我的意思是我所有的输出都在控制台上,PMIS不需要Jframe的对象来绘制吗?@Nikhar Sharma:-)请使用教程中的代码,就在SwingWorker类内部,使用您的代码进行更改:-)
I searched some examples, they used 'this' instead of 'new Jframe()' in PMIS