OracleからJava SE 8u25 JDK(64ビット)をインストールしました。これにはJavaFXが含まれているはずです。
私はWin764ビット、Eclipse Heliosを使用しており、次に示すようにクラスパスにjreを含めました。
このチュートリアルのコードを複製しようとしています: http://docs.Oracle.com/javase/8/javafx/get-started-tutorial/hello_world.htm
Eclipseは、javafx.scene.control.Button.setText(String)
を使おうとすると、「タイプjavafx.scene.control.Controlを解決できません。必要な.classファイルから間接的に参照されています」と表示されます。 StackPane
オブジェクトを作成しようとすると、同様の問題が発生します。
これまでのコードは次のとおりです。
package javaFX;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Button;
import javafx.stage.Stage;
public class HelloWorld extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Button btn = new Button();
btn.setText("Hello world!");
btn.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent arg0) {
System.out.println("Hello world!");
}
});
StackPane root = new StackPane();
}
}
Tl; dr:一部のJavaFXクラスがJava SE 8u25にないようです。または、ビルドパスにjreを含めるのを間違えました。
注: EclipseHeliosを使用していることを確認しました。 EclipseLunaの最新バージョンをダウンロードすることもできます。これも機能します。
e(fx)clipseを試すことができます。これは、EclipseでFXアプリを開発するときに役立つIDE拡張機能です。これを行うには、次の手順に従います。
Help > Install New Software
に移動し、[Work with:]の下にURL http://download.Eclipse.org/efxclipse/updates-released/1.1.0/site/
を挿入して、Enterキーを押します。File > New > Other ...
に移動してJavaFX > JavaFX Project
を選択できます。jfxrt.jar
を追加しますC:\Program Files\Java\jdk1.8.0_25\jre\lib\ext
./Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/jfxrt.jar
。注意:e(fx)clipseは、JavaFXアプリケーションの開発に対してはるかに多くのサポートを提供します。お気軽にご覧ください。
[〜#〜]編集[〜#〜]:
StackPaneのクラスをインポートしていません:
import javafx.scene.layout.StackPane;
前の答え:
基本的に、javafxライブラリをインポートしていません。Add External JARs
をインポートし、jfxrt.jar
を指定すると、問題なく動作します。
私のパスでは、jfxrt.jar
は次の場所にあります:
C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext
簡単な方法があります、
最新のJDKをインストールすると役立ちます。 2つのリンクを参照してください: ここにリンクの説明を入力してくださいここにリンクの説明を入力してください