用JComboBox实现三级联动

该博客展示了如何使用Java的JComboBox组件创建一个三级联动菜单。通过监听事件并动态更新下级组合框的内容,实现了根据一级菜单选择更新二级菜单,以及根据二级菜单选择更新三级菜单的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚刚用JComboBox实现了一个三级联动菜单

 

  1. import java.awt.event.ActionEvent;
  2. import java.awt.event.ActionListener;
  3. import javax.swing.DefaultComboBoxModel;
  4. import javax.swing.JComboBox;
  5. import javax.swing.JFrame;
  6. import javax.swing.JPanel;
  7. public class ComboBoxDemo extends JFrame {
  8.     private DefaultComboBoxModel model = new DefaultComboBoxModel();
  9.     private DefaultComboBoxModel model1 = new DefaultComboBoxModel();
  10.     private DefaultComboBoxModel model2 = new DefaultComboBoxModel();
  11.     private JComboBox firstComboBox;
  12.     private JComboBox secondComboBox;
  13.     private JComboBox thirdComboBox;
  14.     private String[] first = { "001", "002", "003" };
  15.     private String[] second_first = { "00101", "00102", "00103" };
  16.     private String[] second_second = { "00201", "00202", "00203" };
  17.     private String[] second_third = { "00301", "00302", "00303" };
  18.     private String[] third_first_first = { "0010101", "0010102", "0010103" };
  19.     private String[] third_second_first = { "0010201", "0010202", "0010203" };
  20.     private String[] third_third_first = { "0010301", "0010302", "0010303" };
  21.     private String[] third_second_second = { "0020101", "0020102", "0020103" };
  22.     private String[] third_first_second = { "0020201", "0020202", "0020203" };
  23.     private String[] third_third_second = { "0020301", "0020302", "0020303" };
  24.     private String[] third_first_third = { "0030101", "0030102", "0030103" };
  25.     private String[] third_second_third = { "0030201", "0030202", "0030203" };
  26.     private String[] third_third_third = { "0030301", "0030302", "0030303" };
  27.     public ComboBoxDemo() {
  28.         setTitle("ComboBoxTest");
  29.         setSize(300, 200);
  30.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  31.         for (int i = 0, n = first.length; i < n; i++) {
  32.             model.addElement(first[i]);
  33.         }
  34.         firstComboBox = new JComboBox(model);
  35.         firstComboBox.addActionListener(new ActionListener() {
  36.             public void actionPerformed(ActionEvent evt) {
  37.                 JComboBox source = (JComboBox) evt.getSource();
  38.                 String item = (String) source.getSelectedItem();
  39.                 try {
  40.                     if (item.equals("001")) {
  41.                   &
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值