我试图从lib接收字节以设置我的JProgressBar更新很长一段时间但不幸的是 我没有得到我想要的结果。
问题是我不知道如何从lib接收字节以及如何更新JProgressBar同时接收所有用来制作带有java的浏览器的字节
这是我尝试过的代码:
private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_ENTER){
String az = jTextField1.getText();
if(az.contains("1")){
String hh = WorkSpace.jTextField1.getText();
URLConnection conn = null;
InputStream in = null;
try {
URL url = new URL(hh);
conn = url.openConnection();
in = conn.getInputStream();
int length = conn.getContentLength();
int current = 0;
WorkSpace.jProgressBar1.setMaximum(length);
WorkSpace.jProgressBar1.setValue(0);
byte[] buffer = new byte[1024];
int numRead = 0;
while ((numRead = in.read(buffer)) != -1) {
current=0;
current += numRead;
WorkSpace.jProgressBar1.setValue(current);
}
} catch (Exception e) {
}
}
如果有人知道该怎么做,请告诉我。
答案 0 :(得分:2)
将输入流包装在ProgressMonitorInputStream
中。它将为您管理自己的JProgressBar
。