我有這塊代碼給了我一個組合框的結果,我希望它忽略組合框並在上面的ROLE組合框下面的一個選擇值「SDO/OD」時禁用它又名fcbRole。下面的代碼從第一部分啓用該框,但第二部分不啓動。它給了我一個警告:「這個領域是必需的」......你之前看過類似的東西嗎?如何根據另一個組合框中的選擇禁用組合框?
我一直在擺弄:
fcbRole.addSelectionChangedListener(new SelectionChangedListener<ModelData>()
{
@Override
public void selectionChanged(SelectionChangedEvent<ModelData> se)
{
if ("SDO/OD".equals(this.toString()))
{
fcbOfficeRegion.enable();
} else
{
fcbOfficeRegion.disable();
}
}
});
作爲一個側面說明,使用''==不比較字符串。使用'.equals'。 – aioobe 2012-02-01 15:40:37
你知道'toString()'的默認實現,不是嗎?我敢打賭,你總是碰到'!='SDO/OD''的情況,對吧?這將有兩個原因:1.「!=」和「==」比較內存地址,即如果對象相同,則不是如果它們具有相同的值。 2.'toString()'在默認情況下會返回類名和一些散列,並且您在創建的'SelectionChangedListener'上調用'toString()'。 – Thomas 2012-02-01 15:41:20
反正有點多餘;爲什麼第二次比較(一旦你停止使用'==')?如果它是平等的,它是平等的;只有一個選擇。 – 2012-02-01 15:43:15