Почему эта базовая программа JavaFX не запускается? - PullRequest
0 голосов
/ 11 ноября 2019

Я делаю кредитный калькулятор для начинающего курса Java. Он будет принимать данные из двух текстовых полей («loanAmount» и «loanYears») и, нажав кнопку «showTable», сгенерирует и отобразит таблицу возрастающих процентных ставок, ежемесячных платежей и общей суммы кредита.

До сих пор я только начал создавать программу с несколькими необходимыми элементами графического интерфейса. Никакой логики не было реализовано. Тем не менее, у меня возникли проблемы с отображением любой простой сцены. Фактически, сцена (окно) никогда не появляется вообще. Я сопоставил свой синтаксис и структуру кода с инструкциями из нашего учебника, и все, кажется, соответствует друг другу, поэтому я не совсем понимаю, в чем проблема. Этот проект использует Java 1.7, если это имеет значение.

import javafx.stage.Stage;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;

public class LoanCalculator extends Application{

    protected BorderPane getPane() {
        HBox paneInputs = new HBox(50);
        TextField loanAmount = new TextField();
        TextField loanYears = new TextField();
        Button showTable = new Button("Show Table");
        paneInputs.getChildren().addAll(loanAmount, loanYears, showTable);
        paneInputs.setAlignment(Pos.CENTER);
        paneInputs.setStyle("-fx-border-color: green");

        BorderPane pane = new BorderPane();
        pane.setTop(paneInputs);
        return pane;
    }

    @Override
    public void start(Stage primaryStage) { //Builds stage 
        Scene scene = new Scene(getPane(), 450, 200);
        primaryStage.setTitle("Loan Calculator (16.13)");
        primaryStage.setScene(scene);
        primaryStage.show();
}

1 Ответ

0 голосов
/ 11 ноября 2019

Чтобы запустить приложение Java, вам необходим метод main() хотя бы в одном классе, который вызывается для его запуска. Для приложения JavaFX метод main() должен вызывать Application.launch().

Попробуйте добавить эту функцию в начало вашего класса:

public static void main(String[] args) {
    Application.launch(args);
}

Подробнее о том, почему вам нуженmain() метод в приложении Java, смотрите здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...