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

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

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

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

button

HTMLで用いる<button>タグです。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

4733閲覧

javaでリセットボタンを作りたい。

hona_tan

総合スコア45

Java

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

button

HTMLで用いる<button>タグです。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

1グッド

0クリップ

投稿2020/12/09 12:53

編集2020/12/09 13:41

おみくじのプログラムです。
このままだと連続で占いたいときに画像が連続で出てしまいます。なのでリセットボタンを作りたいです。どうすればうまく動かせますか?

import java.util.Random; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.FlowPane; import javafx.stage.Stage; //javaFXを使うときはpublicをつける。 public class FortuneTeller2 extends Application { public static void main(String[] args) { launch(args); } public void start(Stage myStage) { myStage.setTitle("占いアプリ"); FlowPane rootNode = new FlowPane(10, 10);//(横幅, 縦幅) rootNode.setAlignment(Pos.TOP_LEFT); // Sceneの作成 Scene myScene = new Scene(rootNode, 400, 500); // stage上にsceneを作成 myStage.setScene(myScene); // TextFiledの作成 TextField message = new TextField(); // TextFiledのサイズの設定 message.setPrefWidth(250); // テキストの設定 message.setText("占いたい人の名前を入力してください"); // labelを作成 Label response = new Label(); //Buttonの作成 Button btnSend = new Button("占う"); Button clear = new Button("リセット"); //Buttonが押された時の処理 btnSend.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent ae) { int i = new Random().nextInt(6); if (i==0) { response.setText("\n" +message.getText()+"の今日の運勢は、" + "大吉" + "です。"); //写真 Image img = new Image("https://2.bp.blogspot.com/-q62M2UFmkwQ/UZNyKgFFdNI/AAAAAAAASiI/_cZv1Si4jWE/s800/syougatsu2_omikuji.png"); ImageView logo = new ImageView(img); rootNode.getChildren().add(logo); } else if (i==1) { response.setText("\n" +message.getText()+"の今日の運勢は、" + "吉" + "です。"); //写真 Image img = new Image("https://2.bp.blogspot.com/-27IG0CNV-ZE/VKYfn_1-ycI/AAAAAAAAqXw/fr6Y72lOP9s/s800/omikuji_kichi.png"); ImageView logo = new ImageView(img); rootNode.getChildren().add(logo); } else if (i==2) { response.setText("\n" +message.getText()+"の今日の運勢は、" + "中吉" + "です。"); //写真 Image img = new Image("https://3.bp.blogspot.com/-_z-n-7gO3KA/T3K7MU3MdGI/AAAAAAAAE-k/8qs-jxqS4LE/s1600/omikuji_chuukichi.png"); ImageView logo = new ImageView(img); rootNode.getChildren().add(logo); } else if (i==3) { response.setText("\n" +message.getText()+"の今日の運勢は、" + "小吉" + "です。"); //写真 Image img = new Image("https://3.bp.blogspot.com/-nZt5pjGWT9E/T3K7TJ4wEZI/AAAAAAAAE_E/c1X2-N54EYo/s1600/omikuji_syoukichi.png"); ImageView logo = new ImageView(img); rootNode.getChildren().add(logo); } else if (i==4) { response.setText("\n" +message.getText()+"の今日の運勢は、" + "末吉" + "です。"); //写真 Image img = new Image("https://3.bp.blogspot.com/-JLNa8mwZRnU/T3K7StR-bEI/AAAAAAAAE-8/rQrDomz5MSw/s1600/omikuji_suekichi.png"); ImageView logo = new ImageView(img); rootNode.getChildren().add(logo); } else if (i==5) { response.setText("\n" +message.getText()+"の今日の運勢は、" + "凶" + "です。"); //写真 Image img = new Image("https://4.bp.blogspot.com/-qCfF4H7YOvE/T3K7R5ZjQVI/AAAAAAAAE-4/Hd1u2tzMG3Q/s1600/omikuji_kyou.png"); ImageView logo = new ImageView(img); rootNode.getChildren().add(logo); } } }); clear.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent ae) { message.setText(null); rootNode.getChildren().add(null); } }); // sceneにテキストフィールド、ボタン、ラベルを設置 rootNode.getChildren().addAll(message, btnSend, clear, response); myStage.show(); } }

Eclipse使用

TN8001👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

Label responseと同じように、ImageView logoもシーンに置いておけばいいのでは?

Java

1import java.util.Random; 2 3import javafx.application.Application; 4import javafx.event.ActionEvent; 5import javafx.event.EventHandler; 6import javafx.scene.Scene; 7import javafx.scene.control.Button; 8import javafx.scene.control.Label; 9import javafx.scene.control.TextField; 10import javafx.scene.image.Image; 11import javafx.scene.image.ImageView; 12import javafx.scene.layout.FlowPane; 13import javafx.stage.Stage; 14 15 16public class FortuneTeller2 extends Application { 17 public static void main(String[] args) { 18 launch(args); 19 } 20 21 public void start(Stage myStage) { 22 myStage.setTitle("占いアプリ"); 23 FlowPane rootNode = new FlowPane(10, 10); 24 Scene myScene = new Scene(rootNode, 400, 500); 25 myStage.setScene(myScene); 26 27 TextField message = new TextField(); 28 message.setPrefWidth(250); 29 message.setText("占いたい人の名前を入力してください"); 30 31 Label response = new Label(); 32 33 Button btnSend = new Button("占う"); 34 Button clear = new Button("リセット"); 35 36 ImageView logo = new ImageView(); 37 38 btnSend.setOnAction(new EventHandler<ActionEvent>() { 39 public void handle(ActionEvent ae) { 40 int i = new Random().nextInt(6); 41 if (i == 0) { 42 response.setText("\n" + message.getText() + "の今日の運勢は、大吉です。"); 43 Image img = new Image("https://2.bp.blogspot.com/-q62M2UFmkwQ/UZNyKgFFdNI/AAAAAAAASiI/_cZv1Si4jWE/s800/syougatsu2_omikuji.png"); 44 logo.setImage(img); 45 } else if (i == 1) { 46 response.setText("\n" + message.getText() + "の今日の運勢は、吉です。"); 47 Image img = new Image("https://2.bp.blogspot.com/-27IG0CNV-ZE/VKYfn_1-ycI/AAAAAAAAqXw/fr6Y72lOP9s/s800/omikuji_kichi.png"); 48 logo.setImage(img); 49 } else if (i == 2) { 50 response.setText("\n" + message.getText() + "の今日の運勢は、中吉です。"); 51 Image img = new Image("https://3.bp.blogspot.com/-_z-n-7gO3KA/T3K7MU3MdGI/AAAAAAAAE-k/8qs-jxqS4LE/s1600/omikuji_chuukichi.png"); 52 logo.setImage(img); 53 } else if (i == 3) { 54 response.setText("\n" + message.getText() + "の今日の運勢は、小吉です。"); 55 Image img = new Image("https://3.bp.blogspot.com/-nZt5pjGWT9E/T3K7TJ4wEZI/AAAAAAAAE_E/c1X2-N54EYo/s1600/omikuji_syoukichi.png"); 56 logo.setImage(img); 57 } else if (i == 4) { 58 response.setText("\n" + message.getText() + "の今日の運勢は、末吉です。"); 59 Image img = new Image("https://3.bp.blogspot.com/-JLNa8mwZRnU/T3K7StR-bEI/AAAAAAAAE-8/rQrDomz5MSw/s1600/omikuji_suekichi.png"); 60 logo.setImage(img); 61 } else if (i == 5) { 62 response.setText("\n" + message.getText() + "の今日の運勢は、凶です。"); 63 Image img = new Image("https://4.bp.blogspot.com/-qCfF4H7YOvE/T3K7R5ZjQVI/AAAAAAAAE-4/Hd1u2tzMG3Q/s1600/omikuji_kyou.png"); 64 logo.setImage(img); 65 } 66 } 67 }); 68 clear.setOnAction(new EventHandler<ActionEvent>() { 69 public void handle(ActionEvent ae) { 70 response.setText(null); 71 logo.setImage(null); 72 } 73 }); 74 75 rootNode.getChildren().addAll(message, btnSend, clear, response, logo); 76 myStage.show(); 77 } 78}

投稿2020/12/09 14:09

TN8001

総合スコア9862

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

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

hona_tan

2020/12/09 14:49

なるほど!そう書けばよかったんですね!頭が硬かったです。 夜遅くに質問に回答してくださりありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問