質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Q&A

解決済

1回答

11750閲覧

JavaFXの実行の時にエラーが出る

taitai800

総合スコア13

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

0グッド

0クリップ

投稿2019/06/20 05:36

JavaFXでアプリケーションを作ろうと思いウィンドウが出てくるプログラムを作ったのですがエラーが出て実行できません。

エラーメッセージは「FXランタイム・コンポーネントが不足しており、このアプリケーションの実行に必要です」です。

また、eclipseを開いたときに問題が発生したというタイトルと共に
「You are not running your eclipse instance with Java8. The JavaFX tooling is disabled because of this.Make Java8 the default system java or adjust your eclipse.ini to pass -vm pointing to your Java8 install.

In case you want to turn off this check open your preferences and go to General > Startup and Shutdown and uncheck 'JavaFX Tooling Java Check'」
というウィンドウが出てきます。
google翻訳してみたのが以下の分です。

「あなたはあなたのEclipseインスタンスをJava8で走らせていません。このため、JavaFXツールは無効になっています。Java8をデフォルトのシステムJavaにするか、またはeclipse.iniを調整してJava8インストールを指す-vmを渡します。

このチェックをオフにしたい場合は、設定を開き、一般>起動とシャットダウンに行き、 'JavaFX Tooling Java Check'のチェックを外してください。」

どうすれば正常に実行できるようになるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ちょっと乱暴な回答になりますがおそらく一番わかりやすいと思える方法のみご紹介します。

(1) OSにはJavaSE8のみインストールする
おそらく質問者さんはJava11かJava12をインストールしているのだと思います。それをいったんアンインストールして、
https://www.oracle.com/technetwork/java/javase/downloads/index.html
のJava SE 8u211 / Java SE 8u212のところからJava8のJDKをインストールします。
OSの環境変数JAVA_HOMEをインストールしたJDK8のディレクトリーになるように設定します。例えばJava SE 8u212をインストールした64bit Windowsであれば、JAVA_HOME環境変数の値を
'C:\Program Files\Java\jdk1.8.0_212'
にしておきます。

(2) Eclipseにjdk1.8.0_*を登録する。
EclipseのInstalled JREsの項目の設定方法を知っている前提です。Installed JREsに(1)でインストールしたJDK8の場所を登録してやればよいです。

(3) プロジェクトを作り直す。
プロジェクトを作る際に使用するJREを選ぶ画面が出てくるはずです。そこで(jdk1.8.0_212)のような名前のJRE(つまりJava8)を選べばよいです。

ご質問にあるようなメッセージはJava9からJava言語に導入されたモジュールの仕様にかかわる問題がある場合に出ます。モジュールが何か、どうやって使うべきなのかがわからないとこのエラーメッセージはチンプンカンプンだろうと思います。それを回避するのが上に書いた方法、すなわち「モジュールがサポートされていないバージョンのJDK(つまりjdk 1.8.0_*)を使ってプロジェクトを作成する」になるのです。

Javaを本格的に学ぶなら早晩モジュールの仕様は避けて通れないので最後にはJava11やそれ以上のバージョンでJavaFX(に限らずjava.base以外のモジュールを利用したプロジェクト)のコンパイル・実行の仕方を知る必要があるでしょうが、まずはモジュールを使わない前提でJavaの開発自体に慣れておく方がよいのではないでしょうか。

投稿2019/06/20 14:38

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taitai800

2019/06/23 06:41

ご回答ありがとうございます! おかげさまでエラーが出なくなりました。 しかし実行してみても何故かウィンドウが出て来ずMacBookの画面の下の部分にjavaのマークが出てくるだけでクリックしても何も出てきません。 何度も質問申し訳ないのですがなにか対処法はあるでしょうか?
KSwordOfHaste

2019/06/23 13:32

今のMacを触ったことがないので「MacBookの画面の下の部分にjavaのマークが出てくる」の正確な意味がわかりませんが、それがDockというもので「起動中の(GUI?)アプリのアイコンが出る」と解釈するなら、JavaFxアプリは動作中だけどウィンドウ(JavaFXではStageと呼びます)が表示状態になっていないのではないかと思います。JavaFXの簡単なアプリ(Hello JFX的なもの)を動かしウィンドウがでるところまでまずこぎつけましょう。ウィンドウがでないようなら念のためソースコード(ごく小さいはず)を提示して別途質問を上げたほうがよいと思います。
taitai800

2019/06/30 13:27

返信ありがとうございます。 わかりずらい表現で申し訳ないです。その解釈どうりです。 自己解決が厳しそうであればそうしようと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問