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

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

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

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

受付中

JavaFXのPackageとimportについての質問

toukou
toukou

総合スコア0

JavaFX

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

2回答

0リアクション

1クリップ

946閲覧

投稿2020/11/06 16:59

編集2020/11/15 11:02

前提・実現したいこと

旧題:Applicationクラスのコンパイルが行えないので詳しい方が居たら助言をしてほしいです。

大学の授業でJavaを勉強しています。
個人的な制作物としてミニゲームを作ろうと思いPaneの上にPaneを乗っけれるかを試そうと思ったのですが、それ以前の部分でとりあえず実行ファイルを作ろうとして行ったコンパイルができません。
また、大学で講義を行っている先生も勉強中なので正確な回答が得られるか不明な為、ここで質問させていただきました。

発生している問題・エラーメッセージ

demo.java:8: エラー: パッケージjavafx.applicationは存在しません import javafx.application.Application; ^ demo.java:9: エラー: パッケージjavafx.stageは存在しません import javafx.stage.Stage; ^ demo.java:10: エラー: パッケージjavafx.sceneは存在しません import javafx.scene.Scene; ^ demo.java:11: エラー: パッケージjavafx.scene.layoutは存在しません import javafx.scene.layout.FlowPane; ^ demo.java:12: エラー: パッケージjavafx.scene.controlは存在しません import javafx.scene.control.Button; ^ demo.java:22: エラー: シンボルを見つけられません public class demo extends Application{ ^ シンボル: クラス Application demo.java:24: エラー: シンボルを見つけられません public void start(Stage stage){ ^ シンボル: クラス Stage 場所: クラス demo demo.java:30: エラー: シンボルを見つけられません Button button1 = new Button("ボタン1"); ^ シンボル: クラス Button 場所: クラス demo demo.java:30: エラー: シンボルを見つけられません Button button1 = new Button("ボタン1"); ^ シンボル: クラス Button 場所: クラス demo demo.java:31: エラー: シンボルを見つけられません Button button2 = new Button("ボタン2"); ^ シンボル: クラス Button 場所: クラス demo demo.java:31: エラー: シンボルを見つけられません Button button2 = new Button("ボタン2"); ^ シンボル: クラス Button 場所: クラス demo demo.java:33: エラー: シンボルを見つけられません FlowPane root = new FlowPane(); ^ シンボル: クラス FlowPane 場所: クラス demo demo.java:33: エラー: シンボルを見つけられません FlowPane root = new FlowPane(); ^ シンボル: クラス FlowPane 場所: クラス demo demo.java:37: エラー: シンボルを見つけられません Scene scene = new Scene(root); ^ シンボル: クラス Scene 場所: クラス demo demo.java:37: エラー: シンボルを見つけられません Scene scene = new Scene(root); ^ シンボル: クラス Scene 場所: クラス demo demo.java:42: エラー: シンボルを見つけられません launch(); // アプリケーション起動 ^ シンボル: メソッド launch() 場所: クラス demo エラー16個

該当のソースコード

Java

import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.layout.FlowPane; import javafx.scene.control.Button; // アプリケーション public class demo extends Application{ // startメソッドをオーバーライドする public void start(Stage stage){ // stageの基本設定 stage.setTitle("タイトル"); stage.setWidth(800); stage.setHeight(500); // Controlの設定 Button button1 = new Button("ボタン1"); Button button2 = new Button("ボタン2"); // Paneの設定 FlowPane root = new FlowPane(); root.getChildren().add(button1); root.getChildren().add(button2); // 仕上げ Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } public static void main(String[] args){ launch(); // アプリケーション起動 } }

試したこと

基本的にMethodではなく、packageやimportの問題だと思っており、そこを弄りました。以下は、弄った方法一覧です。

###Case1「importをpackageに置換」
importをpackageに置換しました。エラーは減りましたが以下のエラーが発生し、調べても解決には至りませんでした。

demo.java:2: エラー: class、interfaceまたはenumがありません package javafx.stage.Stage; ^ demo.java:3: エラー: class、interfaceまたはenumがありません package javafx.scene.Scene; ^ demo.java:4: エラー: class、interfaceまたはenumがありません package javafx.scene.layout.FlowPane; ^ demo.java:5: エラー: class、interfaceまたはenumがありません package javafx.scene.control.Button; ^ エラー4個

###Case2「頭にpackage クラス名をつける」
package.demo;
上の文をimportの前に追加しました。エラーは最初のエラーと同じでした。
packageについて全くと言っていいほど習っておらず困っています。

###Case3「友人に相談する」
ここで悩み友人に相談しました。そして、ファイルの構成が違う方法を教えていただきました。

ファイル構成 game -classes -package -src

なおかつpackageに指定されたjarファイル等を導入し、srcにコンパイルしたいdemo.javaを入れました。
その上でコマンドプロンプトで以下を入力しました。

javac -d classes -cp ./package* src\demo.java ※正確に表示されないので画像を参考にしてください

イメージ説明
画像の通り、コンパイルは完了しましたが、実行に失敗しました。
classesファイルにクラスファイルは、生成されていました。

友人には色々手をつくしてもらったのでここで相談を終えました。
(元々Javaがメインで勉強してる言語ではない方だったので手間をかけては悪いと思いました)

補足情報

コンパイルとエディタについて

コンパイルはコマンドプロンプトにjavac ファイル名.javaでコンパイルしています。
エディタはサクラダエディタと言うテキストソフトを使い行っています。

また、開発環境としてはJDK1.12を利用しています。
※今回の問題で最新の物をDLして1.15も持っています。

不明な部分があったらコメントお願いします。

###追記

追記1
最初に回答していただいた方のパスの話で言われた方法の正確なやり方が分からずに思いつくパターンを一通りやりましたが、「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と出ます

イメージ説明

追記2
題名を変更しました。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JavaFX

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。