0

Java での私の努力が私に信じさせたほど、Java が洗練されていないことを願っています。

私は JRadioButtons を使用しており、それらに関連付けられた「ID」をプログラムで決定したいと考えています。このために、NetBeans プロパティにリストされている「名前」を読み取ろうとしています。

IDE でコンポーネントを右クリックすると、「変数名を変更...」というオプションが表示されます。これを使用して、rb1、rb2 などの値を設定します。

ただし、プロパティ パネルには、別の値に設定できる「名前」エントリもあります。これを使用して、1、2 などの「id」を設定します。

ラジオ ボタンを操作して、一連の if ステートメントをハンドラーで使用できることを知っています。

Object src = evt.getSource();
int val=-1;
     if (src == rb1) { val=1; }
else if (src == rb2) { val=2; }
else if (src == rb3) { val=3; }
else                 { val=4; }

しかし、転記エラーを起こしやすいコントロール名で id 値を自分でハードコーディングする必要があることに加えて、これを達成するためのより簡単な単一ステートメントの手段があると信じたいです。

String name = rbGroup.getSelection().getName();
                                    .getText();
                                    .getLabel();

しかし、私は、複数の if-else ステートメントのエレガントで冗長な使用にこだわっているようです。

最も簡単な方法で、NetBeans IDE にリストされているプロパティを取得するためにコントロールを照会するにはどうすればよいですか?

4

1 に答える 1

2

1 つの方法は、ボタンのアクション コマンドを使用することです。

rb1.setActionCommand("1");

次に、イベントハンドラーで次を使用できます。

String command = evt.getActionCommand();

明示的に設定しない場合、アクション コマンドはデフォルトでボタンのテキストになります。

于 2013-08-07T19:40:44.770 に答える