在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