Java下拉框的懒加载实现

avatar
作者
猴君
阅读量:0

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!