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

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

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

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

JavaFX

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

Q&A

解決済

1回答

8827閲覧

【JavaFX】【分岐処理】2つのボタンをそれぞれ押した時の分岐処理の記述について。

mori02

総合スコア35

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

JavaFX

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

0グッド

0クリップ

投稿2015/08/13 02:31

編集2015/08/13 02:34

JavaFXで縦にボタン、ボタン、ラベルが並んだ画面にて、それぞれのボタンが押された際にそのボタンに対応したメッセージがラベルに表示される画面を作っています。

今現在のソースコードは、

Button Button01 = new Button("ボタン01"); Button Button02 = new Button("ボタン02"); Label Label01 = new Label("ラベル01"); Button01.setOnAction((ActionEvent)->{ Label01.setText("ボタン01が押されました。"); }); Button02.setOnAction((ActionEvent)->{ Label01.setText("ボタン02が押されました。"); });

です。

これをif文もしくはswitch文を用いて書き換えなければいけないのですが、どうも一筋縄ではいかなくGoogle検索を用いても答えが見つからず困っています。

お手数ではございますが、ご指南ください。
どうぞよろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

if文もしくはswitch文を用いて書き換えなければいけない

とはどこの部分でしょう?Buttonに設定したActionでしょうか?

押したボタンによりlabelに設定する内容を切り替えたいのであれば、ActionEvent#getSource()
で押したボタンを取得できます。それを使ってみるのはいかがでしょうか?

java

1 Button button01 = new Button("ボタン01"); 2 Button button02 = new Button("ボタン02"); 3 Label babel01 = new Label("ラベル01"); 4 EventHandler<ActionEvent> action = (event)-> { 5 if(event.getSource() == button1){ 6 label01.setText("ボタン01が押されました。"); 7 } else if(event.getSource() == button2)){ 8 label01.setText("ボタン02が押されました。"); 9 } 10 } 11 button1.setOnAction(action); 12 button2.setOnAction(action);

Javaの変数名は原則小文字なので、小文字にしました。

投稿2015/08/13 02:38

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

mori02

2015/08/13 02:49

早速のご回答誠にありがとうございます。 上記の回答を元に実装しましたところ無事にボタンに対応したメッセージがラベルに表示されました。 非常に助かりました、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問