在Java中,可以使用Swing库中的JComboBox和JList来实现下拉框的分组显示。以下是一个简单的示例代码:
import javax.swing.*; import java.awt.*; import java.util.HashMap; import java.util.Map; public class GroupedComboBoxExample extends JFrame { private MapgroupedItems; public GroupedComboBoxExample() { groupedItems = new HashMap<>(); groupedItems.put("Fruits", new String[]{"Apple", "Banana", "Orange"}); groupedItems.put("Vegetables", new String[]{"Carrot", "Tomato", "Broccoli"}); JComboBox comboBox = new JComboBox<>(); DefaultComboBoxModel 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