如何根据另一个组合框中的选择禁用组合框?

时间:2012-02-01 15:38:38

标签: java swing jcombobox

我有这个代码块给了我一个组合框的结果,我希望它忽略组合框并在值" SDO / OD"时禁用它。在ROLE又名fcbRole的组合框下面的一个中选择。以下内容从第一部分启用框,但第二部分不启动。它给了我一个警告:"这个字段是必需的" ...你以前见过这样的东西吗?

我一直在修补:

            fcbRole.addSelectionChangedListener(new SelectionChangedListener<ModelData>()
    {
        @Override
        public void selectionChanged(SelectionChangedEvent<ModelData> se) 
        {   
             if ("SDO/OD".equals(this.toString()))
                             {
                                 fcbOfficeRegion.enable();
                             } else 
                             {
                                 fcbOfficeRegion.disable();
                             }
        }       

    });

2 个答案:

答案 0 :(得分:2)

请勿使用==!=来比较Strings,而是使用:

if("SDO/OD".equals(this.getStringName()) // or make sure you override toString()
     // enable
else 
     // disable

答案 1 :(得分:1)

对于字符串值相等,请使用equals()方法而不是运算符。运算符确实引用了相等性检查。

因此,请将您的代码更改为:

        if ("SDO/OD".equals(this.toString()))
        {
            fcbOfficeRegion.enable();
        } else 
        {
            fcbOfficeRegion.disable();
        }