Итак, я пытаюсь изучить JavaFX, разрабатывая простой калькулятор.
Однако я хочу использовать объектно-ориентированный подход к этому. Частью моего дизайна является создание каждой кнопки как объекта, который наследует класс Button в JavaFX, и каждый объект имеет свои собственные свойства и поведение.
Мой класс Main, который в настоящее время отвечает за загрузку всего пользовательского интерфейсаelements:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
public class Main extends Application implements EventHandler<ActionEvent> {
private Button button;
private StackPane layout;
private PlusButton plus;
@Override
public void start(Stage mainStage) throws Exception {
mainStage.setTitle("Dan's newbie calculator");
plus = new PlusButton();
//plus.setOnAction(this);
StackPane layout = new StackPane();
Scene scene = new Scene(layout, 500, 500);
mainStage.setScene(scene);
layout.getChildren().add(plus);
mainStage.show();
}
public void handle(ActionEvent event) {
}
public static void main(String[] args) {
launch(args);
}
}
Моя первая кнопка (PlusButton), которая должна наследовать класс Button от JavaFX:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;;
public class PlusButton extends Application implements EventHandler<ActionEvent> {
Button plusButton;
@Override
public void start(Stage stage) throws Exception {
plusButton = new Button();
plusButton.setText("+");
}
@Override
public void handle(ActionEvent actionEvent) {
if (actionEvent.getSource() == plusButton) {
System.out.println("+ Pressed");
}
}
}
Теперь, очевидно, в этом текущем состоянии я не могу использовать методывнутри кнопки, поскольку я не наследую это должным образом. Я прошу правильное решение этой проблемы, с которой я сталкиваюсь.
Я знаю, что, вероятно, есть тысячи учебников о том, как правильно подходить к объектно-ориентированному подходу, но я действительно учусь, пытаясь реализовать примеры. я. * * 1013