新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

Java下拉框的懒加载实现,java实现下拉框

发布时间:2024-08-07 03:17:26

Java下拉框的懒加载实现

在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线程中进行耗时操作,保持界面的流畅性。当用户点击下拉箭头时,才会加载数据,实现了懒加载的效果。

tiktok粉丝购买:https://www.smmfensi.com/