亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java如何實現進度條顯示

小億
153
2023-08-24 07:12:29
欄目: 編程語言

在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%。

0
宁明县| 修武县| 定远县| 鄂州市| 偃师市| 桦甸市| 贺兰县| 临沂市| 德令哈市| 平阳县| 治多县| 乐陵市| 民丰县| 三明市| 巫溪县| 棋牌| 松溪县| 获嘉县| 西安市| 黎城县| 巴林左旗| 德化县| 来安县| 洞头县| 武川县| 抚远县| 平遥县| 泾阳县| 通城县| 金华市| 枣强县| 璧山县| 将乐县| 清远市| 汪清县| 商洛市| 都昌县| 汶川县| 商都县| 鹤壁市| 武宣县|