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

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

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

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

Q&A

解決済

1回答

2960閲覧

Eclipse 上からコマンドプロンプトを開いて、実行したいのですが文字化けで正しく実行されているかわかりません

退会済みユーザー

退会済みユーザー

総合スコア0

JavaFX

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

0グッド

0クリップ

投稿2018/09/13 07:36

JavaFXをEclipseを使って勉強しています。
Eclipse 上からコマンドプロンプトを開いて、以下のファイルを実行したいのですが文字化けで正しく実行されているかわかりません
c:/pleiades/workspace/javaFX8_exercize/bin/application/chapter1_3.class

Eclipseの外部ツール構成を

ロケーション   :C:\Windows\System32\cmd.exe
作業ディレクトリ :${workspace_loc:/javaFX8_exercize/bin/application}

引数       :${build_files}${workspace_loc}
にしています。
この状態で「外部ツール構成」をクリックすると、「実行(R)」画面が出て、クリックすると
コンソール画面が出ます(以下の表示)。
Microsoft Windows [Version 10.0.17134.228]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\pleiades\workspace\javaFX8_exercize\bin\application>

ここで>java chapter1_3.class Passwordを実行するとウインドウが表示されるはずなんですが、文字化けになってしまいます。
エンコードはutf-8、MS932の両方で試しましたが、文字化けが治りません。
chapter1_3.javaはコンパイル済で chapter1_3.classが上のアドレスに存在しています。
ちなみに>javac chapter1_3.javaでも文字化けします。

よろしくお願いいたします。

コード chapter1_3.java // 起動時にコマンドラインからパスワードとして「Password」として入力しないと // ウインドウが表示される前に終了されてしまうアプリケーション package application; import javafx.application.Application; import javafx.application.Platform; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.VBox; import javafx.scene.text.Font; import javafx.stage.Stage; public class chapter1_3 extends Application { @Override public void start(Stage stage) throws Exception { stage.setTitle("chapter1_3"); stage.setWidth(240); stage.setHeight(120); Label lblMsg = new Label("Hello Java!"); lblMsg.setFont(new Font(12)); Button btnOK = new Button("閉じる"); btnOK.setPrefWidth(120); btnOK.setOnAction(event -> Platform.exit()); VBox root = new VBox(); root.setAlignment(Pos.CENTER); root.setPadding(new Insets(10,10,10,10)); root.setSpacing(20.0); root.getChildren().addAll(lblMsg,btnOK); stage.setScene(new Scene(root)); stage.show(); } public static void main(String[] args) { if(args.length<1){ System.out.println("引数にパスワードを指定してください。"); System.exit(-1); } if(! args[0].equals("Password")){ System.out.println("パスワードが違います。"); System.exit(-1); } Application.launch(args); } }

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

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

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

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

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

guest

回答1

0

ベストアンサー

1, 設定内容が違うかと。

引数       :${build_files}${workspace_loc}

1-1, 作業ディレクトリを設定しているため不要では。
1-2, 外部コマンドのエンコーディングの設定は共通タブ→エンコード→その他でMS932を設定してくださいな。
イメージ説明

2, 実行コマンドが違います。

java chapter1_3.class Password

このコマンドはchapter1_3.class.classというクラスを実行します。
質問文のコードはpackage applicationに属しているので以下のコマンドになります。

binフォルダ直下(※)でjava application.chapter1_3 Passwordと入力してくださいな。
binフォルダ直下ですcdコマンドを使ってパス移動してくださいな。
参考情報:エラー:メインクラスが見つからないについて


あと、外部ツールを使わなくても実行構成(※)に引数の設定ができます。ご参考まで。
※メニューの実行→実行構成より
イメージ説明


2018/09/14追記

エラー: メイン・クラスapplication.hapter1_3が見つからなかったかロードできませんでした

このメッセージはクラスが見つからなかった時に発生する実行エラーです。
質問文のクラスはpublic class chapter1_3 extends Applicationなので

C:\pleiades\workspace\javaFX8_exercize\bin>java application.hapter1_3 Password

hapter1_3の前にcの文字が抜けています。

java application.chapter1_3 Password

まず落ち着いて、ゆっくりコマンド確認しながらを入力してみてくださいな。

上記コマンドを入力しても、実行出来ない時は
1,エクスプローラーでC:\pleiades\workspace\javaFX8_exercize\applicationを開く。
2, 拡張子がclassのファイルを選択
3, キーボードのshiftキーを押しながら、マウスの右クリックして「パスのコピー」を選択。
4, クリップボードにパスがコピーされるので、エディタ(メモ帳)でパスを確認してください。

この手順でファイル名を確認してください。
コマンド実行する時は.classを抜くのをお忘れなく。

投稿2018/09/13 12:39

編集2018/09/14 01:38
umyu

総合スコア5846

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

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

退会済みユーザー

退会済みユーザー

2018/09/13 20:33

ありがとうございます。 文字化けはなおりました。しかし次のようなエラーが出てうまく表示できません。 C:\pleiades\workspace\javaFX8_exercize\bin>java application.hapter1_3 Password java application.hapter1_3 Password エラー: メイン・クラスapplication.hapter1_3が見つからなかったかロードできませんでした いまexercize chapter2_3.classまで実行できるので、確かにclass1_3.classは出来ていると思うのですが、どうしてでしょうか。よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2018/09/13 20:34

引数はなしにしています。
退会済みユーザー

退会済みユーザー

2018/09/14 10:50

外部ツールを使わなくて実行構成に引数(Password)の設定で正常に実行できました。ありがとうございました。 スッキリしました。今仕事から帰ってこれからがんばります。 また引っかかったら、教えてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問