[英]Using JProgressBar in Java
我正在制作一個從API接收數據的應用程序,但是它需要一些時間(例如大約1或2秒),我想使用JProgressBar來顯示下載了多少數據,這是我的代碼:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String snum;
try
{
curfrom=(String)fromList.getSelectedItem();
curto=(String)toList.getSelectedItem();
snum=curval.getText();
address="http://rate-exchange.appspot.com/currency?from="+curfrom+"&to="+curto+"&q="+snum;
url=new URL(address);
connect=url.openConnection();
br=new BufferedReader(new InputStreamReader(connect.getInputStream()));
output=br.readLine();
String[] split = output.split("\"");
res=split[12];
res=res.replace(" ", "");
res=res.replace(":", "");
res=res.replace("}", "");
result.setText(snum+" "+curfrom+" = "+res+" "+curto);
}
catch(Exception e)
{
result.setText("Error! Please check the Problem(e.g. Net)");
JOptionPane.showMessageDialog(null, "An Error has Occured!", "Error!", JOptionPane.ERROR_MESSAGE);
}
}
我想到了制作一個進度條,該進度條將使用JProgressBar.setStringPainted(true)
加載並顯示其值,但是當我使用如下的for
循環更新它時:
for(i=0;i<=100;i+=10)
{
bar.setValue(i);
try
{
Thread.sleep(100);
}
catch (InterruptedException ex)
{
Logger.getLogger(MainApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
但是,當我運行此代碼並開始加載時,它似乎掛了100毫秒然后加載,我看不到我認為應該由該代碼顯示的動畫。 我想看動畫的發生。
提前致謝。
丟棄它,並使用圍繞連接輸入流包裝的javax.swing.ProgressMonitorInputStream
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.