web-dev-qa-db-ja.com

一部のjavafxクラスは、Java SE8u25を使用してEclipseで解決できません。

OracleからJava SE 8u25 JDK(64ビット)をインストールしました。これにはJavaFXが含まれているはずです。

私はWin764ビット、Eclipse Heliosを使用しており、次に示すようにクラスパスにjreを含めました。 enter image description here

このチュートリアルのコードを複製しようとしています: 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を含めるのを間違えました。

5
GeckStar

注: EclipseHeliosを使用していることを確認しました。 EclipseLunaの最新バージョンをダウンロードすることもできます。これも機能します。


e(fx)clipseを試すことができます。これは、EclipseでFXアプリを開発するときに役立つIDE拡張機能です。これを行うには、次の手順に従います。

  1. Eclipseを開き、Help > Install New Softwareに移動し、[Work with:]の下にURL http://download.Eclipse.org/efxclipse/updates-released/1.1.0/site/を挿入して、Enterキーを押します。
  2. パッケージがロードされたら、両方を選択してインストールします
  3. Eclipseを再起動した後、File > New > Other ...に移動してJavaFX > JavaFX Projectを選択できます。
  4. もう1つの手順があります。プロジェクトのプロパティに移動し、[外部JARを追加...]を選択して、クラスパスにjfxrt.jarを追加します
    • Windows:C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext
    • Mac OS:./Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/jfxrt.jar
  5. かわいいJavaFXGUIを作成する準備ができました!

Working example.

注意:e(fx)clipseは、JavaFXアプリケーションの開発に対してはるかに多くのサポートを提供します。お気軽にご覧ください。

12
mythbu

[〜#〜]編集[〜#〜]

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

簡単な方法があります、

1
Isthatso

最新のJDKをインストールすると役立ちます。 2つのリンクを参照してください: ここにリンクの説明を入力してくださいここにリンクの説明を入力してください

0
user2922935