Java下拉框的分组显示

avatar
作者
筋斗云
阅读量:0

在Java中,可以使用Swing库中的JComboBox和JList来实现下拉框的分组显示。以下是一个简单的示例代码:

import javax.swing.*; import java.awt.*; import java.util.HashMap; import java.util.Map;  public class GroupedComboBoxExample extends JFrame {      private Map<String, String[]> groupedItems;      public GroupedComboBoxExample() {         groupedItems = new HashMap<>();         groupedItems.put("Fruits", new String[]{"Apple", "Banana", "Orange"});         groupedItems.put("Vegetables", new String[]{"Carrot", "Tomato", "Broccoli"});          JComboBox<String> comboBox = new JComboBox<>();         DefaultComboBoxModel<String> model = new DefaultComboBoxModel<>();         for (String group : groupedItems.keySet()) {             model.addElement(group);             for (String item : groupedItems.get(group)) {                 model.addElement("   " + item);             }         }         comboBox.setModel(model);          setLayout(new FlowLayout());         add(comboBox);          setSize(300, 200);         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         setVisible(true);     }      public static void main(String[] args) {         new GroupedComboBoxExample();     } } 

在这个示例中,我们首先创建了一个HashMap来存储分组信息,然后使用DefaultComboBoxModel来设置JComboBox的模型。在模型中,我们先添加分组的名称,然后再添加对应分组的子项,通过在子项前添加空格来实现缩进显示。

运行上面的代码,将会显示一个带有分组显示的下拉框,类似于这样:

Fruits    Apple    Banana    Orange Vegetables    Carrot    Tomato    Broccoli 

广告一刻

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