Java下拉框的懒加载实现

   2024-10-02 9400
核心提示:在Java中实现下拉框的懒加载,可以使用JComboBox组件和SwingWorker类来实现。下面是一个简单的示例代码:import javax.swing.*;i

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

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号