因此,我的设置方式是,在特定条件下,我希望侦听器处于活动状态,并且在触发后,停止侦听更改。也许我遗漏了一些东西,但我似乎无法弄清楚如何使用该removeListener()功能,或者这是否是这样做的方法。
一些代码:
break1.setOnAction(e ->{
final String fieldValue = manage_money.getText();
int pp = Integer.parseInt(platinum_num.getText());
int gp = Integer.parseInt(gold_num.getText());
int sp = Integer.parseInt(silver_num.getText());
int cp = Integer.parseInt(copper_num.getText());
if (fieldValue != null && fieldValue.matches("\\d+")) {
int value = Integer.parseInt(manage_money.getText());
if (silver.isSelected()){
if (value <= sp){
try {
tooltip_inv.getChildren().addAll(select);
radio_money2.selectedToggleProperty().addListener(((observable, oldValue, newValue) -> {
if (newValue == copper){
silver_num.setText(Integer.toString(sp - value));
copper_num.setText(Integer.toString(cp + value * 10));
manage_money.clear();
tooltip_inv.getChildren().clear();
}
}));
} catch (IllegalArgumentException ex) {
}
}else{
manage_money.setText("ERR");
}
}
}else{
manage_money.setText("NaN"); …Run Code Online (Sandbox Code Playgroud)