gpt4 book ai didi

java - 在 Java 中使用 JProgressBar

转载 作者:行者123 更新时间:2023-12-01 13:39:41 25 4
gpt4 key购买 nike

我正在制作一个从 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

关于java - 在 Java 中使用 JProgressBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20931381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com