中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Java下拉框的懶加載實現

小樊
97
2024-08-07 03:17:26
欄目: 編程語言

在Java中實現下拉框的懶加載,可以使用JComboBox組件和SwingWorker類來實現。下面是一個簡單的示例代碼:

import javax.swing.*;
import java.awt.*;
import java.util.List;
import javax.swing.SwingWorker;

public class LazyLoadingComboBox extends JFrame {
    private JComboBox<String> comboBox;

    public LazyLoadingComboBox() {
        comboBox = new JComboBox<>();
        add(comboBox, BorderLayout.NORTH);

        setSize(300, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);

        SwingWorker<List<String>, Void> worker = new SwingWorker<List<String>, Void>() {
            @Override
            protected List<String> doInBackground() throws Exception {
                // 模擬從數據庫或遠程接口加載數據的耗時操作
                Thread.sleep(2000);
                return List.of("Option 1", "Option 2", "Option 3");
            }

            @Override
            protected void done() {
                try {
                    List<String> options = get();
                    for (String option : options) {
                        comboBox.addItem(option);
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        };

        worker.execute();
    }

    public static void main(String[] args) {
        new LazyLoadingComboBox();
    }
}

在這個示例中,使用SwingWorker來在后臺加載下拉框的選項數據。在doInBackground方法中模擬加載數據的耗時操作,然后在done方法中將加載好的數據添加到下拉框中。這樣可以避免在UI線程中進行耗時操作,保持界面的流暢性。當用戶點擊下拉箭頭時,才會加載數據,實現了懶加載的效果。

0
南雄市| 通江县| 贡嘎县| 军事| 广平县| 南郑县| 西华县| 海阳市| 阿城市| 泾阳县| 凤凰县| 元朗区| 高雄县| 瑞昌市| 绵阳市| 孝义市| 灌阳县| 林周县| 新和县| 许昌县| 深圳市| 永登县| 萍乡市| 黄浦区| 齐齐哈尔市| 伊金霍洛旗| 黄山市| 岳西县| 呼和浩特市| 浦江县| 涿州市| 延边| 马尔康县| 盐源县| 吉水县| 玉田县| 南木林县| 瓮安县| 太仓市| 墨脱县| 双鸭山市|