В первый раз, используя JavaFX, я пытаюсь протестировать его с окном Hello World!
.
Я использую Java 8 (обновление 211) с Eclipse на MacOS с Mojave 10.14.5.
Я работаю над этим проектом:
Я поместил все jar-файлы JavaFX, которые, по моему мнению, мне нужны, в путь сборки (может быть, мне не хватает некоторых jar-файлов?).
Я пытаюсь открыть окно с JavaFX, используя этот код:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Test extends Application{
public static void main(final String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
Код должен быть в порядке, так как он работает в Windows и Linux.
Когда я запускаю его, в нижней панели появляются элементы java, как вы можете видеть здесь:
Я знаю, что он открыт, потому что под ним есть маленькая точка, но я не вижу ни одного окна. Более того, мне не удается закрыть этот предмет «чашка кофе», не закрыв само затмение.
EDIT:
Я запускаю его из IDE (Eclipse 4.9.0). используя Java 8 (211) от Oracle. Я добавил указанные библиотеки сам, если я пытаюсь удалить их, оставляя импорта в коде, я получаю эту ошибку:
Access restriction: The type 'Application' is not API (restriction on required library '/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/jfxrt.jar')