Как создать один GUI для многих программ?

138
09 августа 2019, 17:40

Я новичок в JavaFX. Создал приложение с тремя элементами: текстовое поле для ввода числа, кнопка "подтвердить" и лабель для отображения результата.

К кнопке "подтвердить" привязан слушатель, в теле которого и вычисляется результат по формуле.

Вопрос: как я могу использовать один этот графический интерфейс для многих приложений с другими формулами в теле слушателя? Конечно, можно просто скопировать и вставить код, переписав формулу в теле слушателя, но я ищу объектно-ориентированный метод.

Answer 1

Можно создать абстрактный класс:

public abstract class MyPane extends Pane{
    private TextField textFld;
    private Button btn;
    private Label lbl;

    public MyPane(){
        textFld = new TextField();
        btn = new Button("ok");
        lbl = new Label("answer");
        this.getChildren().addAll(textFld,btn,lbl);
        btn.setOnAction(event->{
            String res = formula(textFld.getText());
            lbl.setText(res);
        });
    }
    protected abstract String formula(String text);
}

Далее наследуясь от этого класса, нужно будет переопределять для каждого наследника метод formula(String val)

READ ALSO
Локальная переменная в теле цикла

Локальная переменная в теле цикла

На различных специализированных интернет-ресурсах бытует множество мнений по этому вопросуПорой эти мнения диаметрально отличаются друг...

92
Генерация случайного числа от a до b

Генерация случайного числа от a до b

Сделал вот такМожно ли сделать решение проще и корректно ли моё решение?

100
Spring security - Request method 'POST' not supported

Spring security - Request method 'POST' not supported

Ошибка вылетает при попытке залогинится

96