JComboBox项侦听器 - 在if语句中不起作用

时间:2015-03-22 15:43:58

标签: java swing jcombobox

大家好日子,

我有一个JComboBox,其中包含以下内容:

"SELECT WHICH ROW / COLUMN / SAMPLE"
"ROW"
"COLUMN"
"SAMPLE"

如果用户选择了ROW或COLUMN,它将显示另一个JComboBox,允许用户选择它想要显示的特定行或列。另一方面,如果用户选择了SAMPLE,它将显示一个JTextField,它在我的代码的其他部分有其自己的用途。

我的问题是,为什么当我在我的actionPerformed函数中检查是否在我的JComboBox中选择了项目[“SAMPLE”]时,它确实输入了那个if语句?

if(selection1agraph.getSelectedItem().toString().trim().equals("SAMPLE"))

以下是我的代码段:

      - selection1a是一个JComboBox,与selection1agraph具有相同的功能,但与其内容不同   - selection1agraph是发生问题的JComboBox   - selection2a是当用户选择行或列时将显示的JComboBox   - selection4是当用户选择样本
    时将显示的JTextField   - values是一个HashSet,它允许我比较字符串的多个变体

我对selection1a和selection1agraph使用了相同的else if语句,因为它们具有相同的功能execpt,其中selection1a只包含以下项:

“选择行/列”
“行”
“COLUMN”

else if (ie.getSource() == selection1a || ie.getSource() == selection1agraph) {
    if (ie.getItem().toString().trim().equals("ROW")) {
       .... //other code here
    }

    else if (ie.getItem().toString().trim().equals("COLUMN")) {

        .... //other if and else if statements here

        else if (ie.getSource() == selection1a || ie.getSource() == selection1agraph){
             selection2a.setEnabled(true);
             if(ie.getSource() == selection1agraph){
                     if(values.contains(selection0.getSelectedItem().toString().trim())){
                       System.out.println("Entered values.contains(selection0)");
                          if(selection1agraph.getSelectedItem().toString().trim().equals("SAMPLE")){
                               System.out.println("Entered selection1agraph.getselectedItem()");
                                   selection2a.setEnabled(false);
                                   selection4.setEnabled(true);
                                   selection4.setVisible(true);
                           }
                     }
              }
        }
    }
}

感谢那些能够提供帮助的人。

0 个答案:

没有答案