хочу чтобы когда на Button
JavaFX
наводился курсор, он подсвечивалась. Как это сделать? Не нашел подходящего Property
.
Если вы хотите просто стиль поменять при наведения курсора то Вы можете достичь этого с помощю css, просто задав нужный вам параметр в псевдоклассе :hover
.
.your-class:hover {
// some parameters
}
то есть Вам надо будет записать стили в css файл и подключить его как описано тут. Потом добавить класс стиля или идентификацию в Button
.
style.css файл
.my-button:hover {
-fx-background-color: green;
}
Вот и java класс.
package styled.button;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class StyledButton extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
AnchorPane anchorPane = new AnchorPane();
anchorPane.getStylesheets()
.add(getClass().getResource("/style.css").toExternalForm());
Button button = new Button("Hover Button");
button.getStyleClass().add("my-button");
anchorPane.getChildren().add(button);
primaryStage.setScene(new Scene(anchorPane, 400, 600));
primaryStage.show();
}
}
При наведения курсора задний фон кнопки изменится на зеленый.
или же это можно сделать программно:
package button.hover;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class ButtonHover extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
AnchorPane anchorPane = new AnchorPane();
Button button = new Button("Hover Button");
button.setOnMouseEntered(event -> {
button.setStyle("-fx-background-color: green");
});
button.setOnMouseExited(event -> button.setStyle(""));
anchorPane.getChildren().add(button);
primaryStage.setScene(new Scene(anchorPane, 400, 600));
primaryStage.show();
}
}
onMouseEntered:
Определяет функцию, которая будет вызываться, когда мышь над элементом.
Я создал отдельный класс потока, который должен рисовать некоторый текст в окне
В библиотеке https://githubcom/kochedykov/jlibmodbus/blob/master/src/com/invertor/modbus/Modbus
Я написал отдельный класс потока, в котором двигаю строку по канвасуИ проблема в том, что если я делаю