Я сейчас экспериментирую с JavaFX и SceneBuilder в затмении, чтобы создать и спроектировать свою собственную программу.В моем первом классе "StartController" я использую метод с именем makeFadeIn .В основном, когда я нажимаю кнопку, другая страница загружается с эффектом исчезновения.
Это код из StartController.java (обратите внимание, makeFadeIn):
public class StartController {
@FXML
private AnchorPane rootPane;
private void makeFadeIn() {
FadeTransition fadeTransition = new FadeTransition();
fadeTransition.setDuration(Duration.millis(1000));
fadeTransition.setNode(rootPane);
fadeTransition.setFromValue(0);
fadeTransition.setToValue(1);
fadeTransition.play();
}
@FXML
private void loadSecondPage(ActionEvent event) throws IOException {
AnchorPane startPage = FXMLLoader.load(getClass().getResource("SecondController.fxml"));
rootPane.getChildren().setAll(startPage);
makeFadeIn();
}
Далее загружается другой мой класс, который называется "SecondController.java".В этом классе я использую точно такой же метод makeFadeIn (но мне пришлось написать его дважды, поскольку он не позволил мне запустить программу).
Это код из SecondController.java:
public class SecondController {
@FXML
private AnchorPane rootPane;
private void makeFadeIn() {
FadeTransition fadeTransition = new FadeTransition();
fadeTransition.setDuration(Duration.millis(1000));
fadeTransition.setNode(rootPane);
fadeTransition.setFromValue(0);
fadeTransition.setToValue(1);
fadeTransition.play();
}
@FXML
private void loadFirstPage(ActionEvent event) throws IOException {
AnchorPane startPage = FXMLLoader.load(getClass().getResource("StartController.fxml"));
rootPane.getChildren().setAll(startPage);
}
Мой вопрос: могу ли я как-то вызвать метод makeFadeIn из первого класса, чтобы мне не нужно было писать его в моемВторой класс?Я думаю, мне нужно как-то унаследовать это, но я не знаю как.Я попытался объявить его публичным, а не частным, но это не сильно помогло.