Javaプログラムで0,1,2,3,の選択画面を作りたいです。
0を選択したらint aに0を代入。同じく1を選択したらint aに1を代入。
こういったユーザーの返答を待つウィンドウを「ダイアログ」と言います。
Swingでは「はい」・「いいえ」のような定型のもの以外に、独自のボタンを出すことも可能です。
JOptionPane#showOptionDialog (Java Platform SE 8 )
Java
1import javax.swing.JOptionPane;
2
3public class Sample {
4 public static void main(String[] args) {
5 String[] options = { "0", "1", "2", "3" };
6// Integer[] options = { 0, 1, 2, 3 }; // 数値でもいけるけど(int[]じゃダメ)
7
8 // "0" 等が返ってくるのではなく、インデックスが返ってくる
9 int a = JOptionPane.showOptionDialog(null,
10 "メッセージ", "ウィンドウタイトル",
11 JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,
12 null, options, null);
13
14 if (a == JOptionPane.CLOSED_OPTION) { // ×で閉じた場合(-1)
15 System.out.println("未選択");
16 } else {
17 System.out.println("index: " + a + ", value: " + options[a]);
18 }
19 }
20}
JOptionPaneでやりたいことがある
その後に、mainのifで判定に使ったりしたいです。
通常Swingでは、フレーム(ウィンドウ)表示後のmain
に処理は書きません。
コンソール(CUI)プログラムとSwing(GUI)プログラムを、混ぜて使用するつもりということでしょうか?
別に混ぜたらダメということもないですが、どちらかに寄せたほうが良いのは確かです。