java如何实现进度条显示

49次阅读
没有评论

共计 1570 个字符,预计需要花费 4 分钟才能阅读完成。

在 Java 中可以通过使用 JProgressBar 类来实现进度条的显示。
以下是一个简单的例子,演示了如何在 Java 中实现进度条的显示:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ProgressBarExample extends JFrame {
private final JProgressBar progressBar;
private final JButton startButton;
public ProgressBarExample() {setTitle("进度条示例");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new FlowLayout());
// 创建进度条
progressBar = new JProgressBar(0, 100);
progressBar.setPreferredSize(new Dimension(250, 30));
progressBar.setStringPainted(true);
// 创建开始按钮
startButton = new JButton("开始");
startButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 启动一个线程更新进度条
new Thread(new Runnable() {
@Override
public void run() {for (int i = 0; i <= 100; i++) {
final int progress = i;
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {progressBar.setValue(progress);
}
});
try {Thread.sleep(100); // 模拟耗时任务
} catch (InterruptedException e) {e.printStackTrace();
}
}
}
}).start();}
});
add(progressBar);
add(startButton);
pack();
setLocationRelativeTo(null);
}
public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {new ProgressBarExample().setVisible(true);
}
});
}
}

在上述代码中,我们创建了一个 JFrame 窗口,其中包含一个 JProgressBar 进度条和一个 JButton 按钮。当点击按钮时,我们启动一个新的线程,通过更新进度条的值来显示进度。
在线程中,我们使用 SwingUtilities.invokeLater() 方法来确保更新操作在事件分发线程中进行,这是因为 Swing 组件只能在事件分发线程中进行更新操作。
在每次循环中,我们使用 Thread.sleep() 方法来模拟一个耗时任务。根据实际情况,您可以根据需要修改这个时间间隔。
最后,我们使用 SwingUtilities.invokeLater() 方法来启动整个应用程序,并在事件分发线程中创建并显示 ProgressBarExample 窗口。
通过运行上述代码,您将看到一个包含进度条和开始按钮的窗口。当您点击开始按钮时,进度条将逐渐填满,直到达到 100%。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-21发表,共计1570字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)