在Java中實現下拉框的聯動效果,可以使用Swing組件庫中的JComboBox和ItemListener接口。以下是一個簡單的示例代碼,演示了如何實現兩個下拉框之間的聯動效果:
import javax.swing.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class ComboBoxDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("ComboBox Demo");
frame.setSize(300, 200);
JPanel panel = new JPanel();
frame.add(panel);
String[] fruits = {"Apple", "Banana", "Orange"};
JComboBox<String> combo1 = new JComboBox<>(fruits);
JComboBox<String> combo2 = new JComboBox<>();
combo1.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
String selectedFruit = combo1.getSelectedItem().toString();
if (selectedFruit.equals("Apple")) {
combo2.removeAllItems();
combo2.addItem("Red");
combo2.addItem("Green");
combo2.addItem("Yellow");
} else if (selectedFruit.equals("Banana")) {
combo2.removeAllItems();
combo2.addItem("Yellow");
combo2.addItem("Green");
} else if (selectedFruit.equals("Orange")) {
combo2.removeAllItems();
combo2.addItem("Orange");
}
}
}
});
panel.add(combo1);
panel.add(combo2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
在這個示例代碼中,我們創建了兩個下拉框combo1和combo2,通過combo1的ItemListener來實現聯動效果。當combo1的選項發生改變時,根據選中的水果類型,動態添加combo2的選項。例如,如果選中的水果是Apple,那么combo2的選項將為"Red"、“Green"和"Yellow”。通過這種方式可以實現下拉框的聯動效果。