如何在不使用IDE的情况下在ubuntu中编译javafx程序? 导入javafx.application.application; 导入javafx.event.ActionEvent; 导入javafx.event.EventHandler; 导入javafx.scene.scene; 导入javafx.scene.control.Button; 导入javafx.scene.layout.StackPane; 导入javafx.stage.stage; 公共类HelloWorld扩展了应用程序 { @凌驾 公共无效开始(阶段primaryStage) { 按钮btn=新按钮(); btn.setText(“说‘你好,世界’”); btn.setOnAction(新的EventHandler() { @凌驾 公共无效句柄(ActionEvent事件) { System.out.println(“你好,世界!”); } }); StackPane root=新的StackPane(); root.getChildren().add(btn); 场景=新场景(根,300,250); setTitle(“你好,世界!”); 初级阶段。场景(场景); primaryStage.show(); } 公共静态void main(字符串[]args) { 发射(args); } }

如何在不使用IDE的情况下在ubuntu中编译javafx程序? 导入javafx.application.application; 导入javafx.event.ActionEvent; 导入javafx.event.EventHandler; 导入javafx.scene.scene; 导入javafx.scene.control.Button; 导入javafx.scene.layout.StackPane; 导入javafx.stage.stage; 公共类HelloWorld扩展了应用程序 { @凌驾 公共无效开始(阶段primaryStage) { 按钮btn=新按钮(); btn.setText(“说‘你好,世界’”); btn.setOnAction(新的EventHandler() { @凌驾 公共无效句柄(ActionEvent事件) { System.out.println(“你好,世界!”); } }); StackPane root=新的StackPane(); root.getChildren().add(btn); 场景=新场景(根,300,250); setTitle(“你好,世界!”); 初级阶段。场景(场景); primaryStage.show(); } 公共静态void main(字符串[]args) { 发射(args); } },javafx,Javafx,我试着用命令编译这个 javac-cp/opt/jdk8/jdk1.8.0_11/jre/lib/ext/jfxrt.jar HelloWorld.java 它给出了以下几个错误: javafx.application包不存在 javafx.scene包不存在 我需要一些帮助。。。我是javafx新手。。。 我不想使用任何IDE,编译时不需要将jfxrt.jar添加到类路径。只需确保javac命令指向您已经安装的/opt/jdk8 我尝试了您的代码示例,它运行得很好,打开了一个带有按钮的小窗口:

我试着用命令编译这个

javac-cp/opt/jdk8/jdk1.8.0_11/jre/lib/ext/jfxrt.jar HelloWorld.java

它给出了以下几个错误:

javafx.application包不存在 javafx.scene包不存在

我需要一些帮助。。。我是javafx新手。。。
我不想使用任何IDE,编译时不需要将jfxrt.jar添加到类路径。只需确保javac命令指向您已经安装的/opt/jdk8

我尝试了您的代码示例,它运行得很好,打开了一个带有按钮的小窗口:

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 HelloWorld extends Application 
{

    @Override
    public void start(Stage primaryStage) 
    {
        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);

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

当您运行
javac-version
java-version
@janih时,它会打印什么?我发现了这个问题。。在运行applet viewer时,我不得不将默认java版本从oraclejdk更改为openjdk。。我把它调回原处,现在可以用了
~$ javac -version
javac 1.8.0_25
~$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
~$ javac HelloWorld.java
~$ java HelloWorld
Hello World!