gpt4 book ai didi

java - 超出微调器中最大整数的警报消息

转载 作者:行者123 更新时间:2023-12-01 10:27:33 25 4
gpt4 key购买 nike

anzahlLED.setValueFactory(new SpinnerValueFactory.IntegerSpinnerValueFactory(1, 3, 1));
ChangeListener<Integer> ledListener = new ChangeListener<Integer>() {
@Override
public void changed(ObservableValue<? extends Integer> observable, Integer oldValue, Integer newValue) {
if (newValue == 1 && oldValue == 2) {
secondLEDCombo.setDisable(true);
secondLEDTextUf.setDisable(true);
secondLEDTextIf.setDisable(true);
if (schaltung.getSelectionModel().getSelectedItem().equals("Parallelschaltung")) {
//
} else if (schaltung.getSelectionModel().getSelectedItem().equals("Reihenschaltung")) {
secondLEDTextUf.setText(null);
secondLEDTextIf.setText(null);
}
}
if (newValue == 2 && oldValue == 1) {
secondLEDCombo.setDisable(false);
secondLEDTextUf.setDisable(false);
if (schaltung.getSelectionModel().getSelectedItem().equals("Parallelschaltung")) {
secondLEDTextIf.setDisable(false);
} else if (schaltung.getSelectionModel().getSelectedItem().equals("Reihenschaltung")) {
secondLEDTextIf.setText(firstLEDTextIf.getText());
}
}
if (newValue == 2 && oldValue == 3) {
thirdLEDCombo.setDisable(true);
thirdLEDTextUf.setDisable(true);
thirdLEDTextIf.setDisable(true);
if (schaltung.getSelectionModel().getSelectedItem().equals("Parallelschaltung")) {
//
} else if (schaltung.getSelectionModel().getSelectedItem().equals("Reihenschaltung")) {
secondLEDTextIf.setDisable(true);
thirdLEDTextUf.setText(null);
thirdLEDTextIf.setText(null);
}
}
if (newValue == 3 && oldValue == 2) {
thirdLEDCombo.setDisable(false);
thirdLEDTextUf.setDisable(false);
if (schaltung.getSelectionModel().getSelectedItem().equals("Parallelschaltung")) {
thirdLEDTextIf.setDisable(false);
} else if (schaltung.getSelectionModel().getSelectedItem().equals("Reihenschaltung")) {
thirdLEDTextIf.setText(firstLEDTextIf.getText());
}
}
}
};

我有一个问题,如果我想从 3 转到 4,我想收到一条消息。如您所见,我的微调器中只有 1, 2,3。我希望当用户尝试选择 4 时弹出警报。所以我的想法是将最大值更改为 4,然后检查它并在创建警报时再次减少数字。这是行不通的,因为递减会在更改之前触发监听器,所以我有一个无限循环。

有人可以告诉我如何在我尝试选择 4 时轻松弹出警报吗?

最佳答案

这不是很健壮,但您可以使用查找来获取增量按钮,并用它注册一个监听器。如果您为按下鼠标注册事件过滤器,它会在值更改之前捕获它。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Spinner;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class SpinnerTest extends Application {

@Override
public void start(Stage primaryStage) {
Spinner<Integer> spinner = new Spinner<>(1, 3, 1);
Scene scene = new Scene(new StackPane(spinner), 180, 80);

spinner.applyCss();
spinner.lookup(".increment-arrow-button").addEventFilter(MouseEvent.MOUSE_PRESSED, e -> {
if (spinner.getValue().intValue() == 3) {
Alert alert = new Alert(AlertType.INFORMATION);
alert.setContentText("Maximum is 3");
alert.showAndWait();
}
});

primaryStage.setScene(scene);
primaryStage.show();


}

public static void main(String[] args) {
launch(args);
}
}

关于java - 超出微调器中最大整数的警报消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35279647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com