Swing容器中在jTable中添加combobox下拉框时,有关一个下拉框值改变,另一个下拉框值随之改变的方法

    xiaoxiao2021-04-11  41

    在jTable中,我们经常会需要添加下拉框,一个下拉框很容易设置,但是两个下拉框设置二级联动就需要添加addItemListener监听方法。

    所要功能如下图:

    代码如下:

    //类型列表         comboboxType.removeAllItems();         comboboxType.addItem("");         comboboxType.addItem("母线");         comboboxType.addItem("线路");         comboboxType.addItem("主变");                           //获取母线列表         busList = service.getBusId();         comboboxBus.removeAllItems();         busMap.clear();         for (int i = 0; i < busList.size(); i++) {             String[] s = busList.get(i);             comboboxBus.addItem(s[1]);             busMap.put(s[1], s[0]);         }                  //获取线路列表         lineList = service.getLine();         comboboxLineName.removeAllItems();         lineMap.clear();         for (int i = 0; i < lineList.size(); i++) {             String[] s = lineList.get(i);             comboboxLineName.addItem(s[1]);             lineMap.put(s[1], s[0]);         }                  //获取主变列表         transformerList = service.getTransformer();         comboboxTransformer.removeAllItems();         transformerMap.clear();         for (int i = 0; i < transformerList.size(); i++) {             String[] s = transformerList.get(i);             comboboxTransformer.addItem(s[1]);             transformerMap.put(s[1], s[0]);         }

    Column_Width.setTableRowColor2_line(jTable7);         jTable7.getColumn("类型").setCellEditor(new DefaultCellEditor(comboboxType));         jTable7.getColumn("退役时间").setCellEditor(new DefaultCellEditor(jDatePicker1));                  comboboxType.addItemListener(new java.awt.event.ItemListener() {             public void itemStateChanged(java.awt.event.ItemEvent evt) {                 if(comboboxType.getSelectedItem().toString().equals("母线")){                     jTable7.getColumn("名称").setCellEditor(new DefaultCellEditor(comboboxBus));                 }else if(comboboxType.getSelectedItem().toString().equals("线路")){                     jTable7.getColumn("名称").setCellEditor(new DefaultCellEditor(comboboxLineName));                 }else if(comboboxType.getSelectedItem().toString().equals("主变")){                     jTable7.getColumn("名称").setCellEditor(new DefaultCellEditor(comboboxTransformer));                 }             }         });

    转载请注明原文地址: https://ju.6miu.com/read-666700.html

    最新回复(0)