2016-09-02 3 views
1

У меня есть проблема, у меня есть метод, который является действием. Если флажок отмечен, добавятся дополнительные поля. Если они не отмечены галочкой, они будут серыми. Поэтому в основном я хочу добавить к этому методу. У меня есть первое условие и теперь нужно добавить к нему второе условие. Я наклеил фрагмент кода ниже, в основном, что мне нужно, это поместить его в if else, но я получаю некоторые ошибки. Любые советы очень ценятся.Boolean in Java condition

public void actionPerformed(ActionEvent e) { 
    boolean sel = _useSSL.isSelected(); 
    _port.setUseSSL(sel); 
    _keystore.setEnabled(sel); 
    _passphrase.setEnabled(sel); 
    L_KEYSTORE.setEnabled(sel); 
    L_PASSPHRASE.setEnabled(sel); 
} 

Выше метод работы, теперь мне нужно добавить, если _truststore.isSelected(); затем выполните что-то еще.

Как добавить это второе булево условие в метод?

+4

Вы действительно плохое переменное именование здесь ... –

+0

Ой я сожалею, что я забыл упомянуть, что они не может быть && или ||, потому что они служат различным целям. –

+0

В принципе, они должны быть независимы друг от друга, ssl для чего-то, а truststore - для чего-то еще. –

ответ

0

Вы можете использовать его так же, как вы использовали «Сель» в методе «actionPerfomed», как это:

public void actionPerformed(ActionEvent e) { 
    boolean sel = _useSSL.isSelected(); 
    _port.setUseSSL(sel); 
    _keystore.setEnabled(sel); 
    _passphrase.setEnabled(sel); 
    L_KEYSTORE.setEnabled(sel); 
    L_PASSPHRASE.setEnabled(sel); 
    boolean trus = _truststore.isSelected(); 
    //Use trus for the other things 
} 
0

Вы можете использовать следующий фрагмент кода:

public void actionPerformed(ActionEvent e) { 
    boolean sel = _useSSL.isSelected(); 

    _port.setUseSSL(sel); 
    _keystore.setEnabled(sel); 
    _passphrase.setEnabled(sel); 
    L_KEYSTORE.setEnabled(sel); 
    L_PASSPHRASE.setEnabled(sel); 

    boolean selOther= _truststore.isSelected(); 
    if(selOther){ 
    //perform task if the _truststore is selected 
    } 
} 
2

Я думаю, что вы можете сделать это путем создания метода за булево и привязывая их к одному «действие, совершаемое» метод как это:

public void actionPerformedForUseSSL(boolean useSSL) { 
    _port.setUseSSL(useSSL); 
    _keystore.setEnabled(useSSL); 
    _passphrase.setEnabled(useSSL); 
    L_KEYSTORE.setEnabled(useSSL); 
    L_PASSPHRASE.setEnabled(useSSL); 
} 

public void actionPerformedForTrustStore(boolean trustStore) { 
    _port.setTrustStore(trustStore); 
    _a.setEnabled(trustStore); 
    _b.setEnabled(trustStore); 
    _c.setEnabled(trustStore); 
} 

//Fire this when action performed 
public void actionPerformed() { 
    boolean sel = _useSSL.isSelected(); 
    boolean trust = _trustStore.isSelected(); 

    actionPerformedForUseSSL(sel); 
    if(trust) { 
     actionPerformedForTrustStore(trust); 
    } 
} 

Добавьте или удалите или смешайте любые поля с этой структурой.