1
したがって、特定の条件で、リスナーをアクティブにして、放してからリスニングの変更をリッスンしないように設定する方法があります。たぶん私は何かが不足しているかもしれませんが、私は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");
}
});
ありがとう、ありがとう!私はそれが私がしなければならないようなものだと思っていましたが、何らかの理由で私はそのようにリスナーを作る方法を理解できませんでした。 – hego64
ラムダステートメントは引き続き使用できます。 – Mordechai
@MouseEventはい、あなたはまだラムダステートメントを使うことができますが、ラムダステートメントの使い方が分からず、ラムダステートメントを使っているように思えたので、これははっきりしていると思いました。 – MMAdams