Всплывающие подсказки - Java
Формулировка задачи:
мне нужно реализовать всплывающие подсказки при вводе неправильных данных в текстовое поле или вовсе их отсутствие. В java есть класс setToolTipText который работает только при наведении мыши на объект. А как сделать без наведения мыши? подскажите пожалуйста
Решение задачи: «Всплывающие подсказки»
textual
Листинг программы
private TextField quantityField;
private Button saveButton, cancelButton;
.....
quantityField = new TextField(String.valueOf(product.getQuantity())); // тут некоторые начальные значения
quantityField.textProperty().addListener(new ChangeListener<String>(){ // сам слушатель
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
if (isInteger(newValue)){
quantityField.setStyle("-fx-text-fill: black"); // тут восстанавливаем цвет
correct = true; // это отвечает за включение кнопки SAVE
} else{
quantityField.setStyle("-fx-text-fill: red"); // тут меняем цвет
correct = false; // это отвечает за отключение кнопки SAVE
}
}
});
.....
EventHandler choiser = new EventHandler<ActionEvent>(){ // определяем слушатель на кнопки
@Override
public void handle(ActionEvent ae){
if (ae.getSource() == saveButton && correct){
// какой-то код
window.close();
}
if (ae.getSource() == cancelButton){
// какой-то код
window.close();
}
}
};
.....
// Сами кнопки
saveButton = new Button("Save");
cancelButton = new Button("Cancel");
saveButton.setOnAction(choiser);
cancelButton.setOnAction(choiser);