91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Java進度條與任務完成的回調機制

小樊
83
2024-10-15 04:17:48
欄目: 編程語言

在Java中,可以使用Swing庫中的JProgressBar組件來創建一個進度條。為了實現任務完成的回調機制,可以采用以下步驟:

  1. 導入所需的庫:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
  1. 創建一個JFrame窗口,并在其中添加一個JProgressBar組件:
public class ProgressBarExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Progress Bar Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 100);

        JProgressBar progressBar = new JProgressBar(0, 100);
        progressBar.setStringPainted(true);
        frame.getContentPane().add(progressBar, BorderLayout.CENTER);

        frame.setVisible(true);
    }
}
  1. 創建一個任務類,該類實現了Runnable接口,并在run()方法中更新進度條的狀態:
class Task implements Runnable {
    private JProgressBar progressBar;

    public Task(JProgressBar progressBar) {
        this.progressBar = progressBar;
    }

    @Override
    public void run() {
        for (int i = 0; i <= 100; i++) {
            try {
                Thread.sleep(50); // 模擬任務執行時間
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            progressBar.setValue(i);
        }
    }
}
  1. 在主類中創建一個線程,將任務提交給該線程執行,并在任務完成后執行回調操作:
public class ProgressBarExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Progress Bar Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 100);

        JProgressBar progressBar = new JProgressBar(0, 100);
        progressBar.setStringPainted(true);
        frame.getContentPane().add(progressBar, BorderLayout.CENTER);

        Task task = new Task(progressBar);
        Thread thread = new Thread(task);
        thread.start();

        thread.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(frame, "任務完成!");
                frame.dispose();
            }
        });

        frame.setVisible(true);
    }
}

在這個例子中,我們創建了一個簡單的進度條,并通過一個線程來更新進度條的狀態。當任務完成時,我們添加了一個ActionListener,它會彈出一個對話框提示用戶任務已完成,并關閉窗口。這樣,我們就實現了一個簡單的任務完成的回調機制。

0
中方县| 临沂市| 金阳县| 哈尔滨市| 诸城市| 安多县| 兴隆县| 峨山| 镇远县| 祁东县| 奉贤区| 泸水县| 隆安县| 巩留县| 沂南县| 南丹县| 鸡泽县| 天台县| 砚山县| 交口县| 平和县| 宝丰县| 京山县| 双柏县| 马尔康县| 陇南市| 天津市| 延庆县| 新巴尔虎左旗| 文昌市| 桓台县| 泉州市| 大同市| 河曲县| 南木林县| 泸溪县| 武强县| 称多县| 定南县| 西乌珠穆沁旗| 客服|