我有一个问题,我有一个方法,这是一个动作执行。如果选中该复选框,则可以使用其他字段。如果没有勾选,那么它们就会变灰了。基本上我想要的是添加到这个方法。我有第一个条件,现在需要添加第二个条件。我粘贴了下面的代码片段,基本上我需要的是把它放到if else中,但是我得到了一些错误。任何建议都非常感谢。
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);
}
上面是工作方法,现在我需要添加if _truststore.isSelected();然后执行其他的事情。
如何将第二个布尔条件添加到方法?
答案 0 :(得分: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);
}
}
轻松添加或删除或混合具有此结构的任何字段。
答案 1 :(得分: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 :(得分:0)
您可以像使用“actionPerfomed”方法中的'sel'一样使用它,如下所示:
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
}