• ベストアンサー
  • 困ってます

ラジオボタンの選択判定

こんばんわ。 ラジオボタンを使って判定を行いたいのですがうまくいきません。 やりたいのは、1,2,3のラジオボタンとaというボタンがありaを押したときにチェックがついているラジオボタンによって判定が変わるようにしたいのです。 初期設定を1はtrue、2,3はfalseにしてあります。 3つのボタンはグループ化してありますので、どれかひとつしかtrueがないです。 現状では、初期設定の状態でボタンを押しても反応しません。 一度ボタンのt/fを変更すれば判定ができるようになるのですが。 どなたかわかる方いらっしゃいましたら教えてください。 お願いします。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数2144
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

aというボタンを押した時に チェックされているラジオボタンの判定をしたい。 ってだけなら itemStateChangedを実装する必要 も ラジオボタンと変数(フラグ)を併せ持つ必要 もいらないでしょ。 (ラジオボタンとフラグの二重管理でフラグセットし忘れなどバグの原因にもなりますし。) aというボタンが押されたときの処理で -------------------------------------------------- Checkbox c1 = new Checkbox("1"); Checkbox c2 = new Checkbox("2"); Checkbox c3= new Checkbox("3"); public void actionPerformed(ActionEvent ae){   String command = ae.getActionCommand();   if(command.equals("aボタンのアクションコマンド")){     if(c1.getState()){       //c1の処理     }else if(c2.getState()){       //c2の処理     }else if(c3.getState()){       //c3処理     }else{       //チェックされていない場合の処理       //初期設定されてるからあり得ない     }   } } -------------------------------------------------- でいいんじゃないかな。 他にも CheckboxGroupクラスに public Checkbox getSelectedCheckbox() 戻り値 現在「オン」の状態であるチェックボックス、またはnull(全てのチェックボックスが「オフ」 なんてのもあるので、上記の分岐部分を -------------------------------------------------- CheckboxGroup cg = new CheckboxGroup(); Checkbox cb = cg.getSelectedCheckbo(); if(cb == null){   //全部オフ }else if(cb == c1){   //c1の処理 }else if(cb == c2){   //c2の処理 }else if(cb == c3){   //c3の処理 }else{   //上記以外(ありえない) } -------------------------------------------------- としてもいいかと。 …あ゛… JCheckboxだったらごめんなさい。orz

共感・感謝の気持ちを伝えよう!

質問者からの補足

回答ありがとうございます。 CheckboxではなくJRadioButtonを使っています。 違いがあるのかないのかは分かりませんが、一応・・・。 記載していただいた方法でやってみました。 ですが、やはりボタンを押した際に判定ができませんでした。

関連するQ&A

  • イベント時のラジオボタンについて

    今ラジオボタンを3つ用意しています。 『はい』『いいえ』『どちらでもない』 クリアボタンが用意されていて ボタンを押すと、ラジオボタンの設定が 『はい』にチェックされるようにしたいのですが、 どのようにすればいいのでしょうか? 宜しくお願い致します。

  • ラジオボタンの作り方

    Flash8とwinXPを利用しています。 ラジオボタンについて教えてください。 《A》《B》《C》3つのムービークリップを作りました。 ラジオボタン(1)ALL (2)A (3)B (4)C の4つを作り、false・trueを使用して  (1)をクリックすると A・B・C 全部が表示  (2)をクリックすると A のみ表示  (3)をクリックすると B のみ表示  (4)をクリックすると C のみ表示 という画面を作りたいと思っています。 【チェックボタン】では作成できたのですが、【ラジオボタン】の "Group"? がよく分からなくてうまくゆきません。 初歩的なことだと思うのですが注意点等を含めて、教えてください。

    • ベストアンサー
    • Flash
  • VB2008のラジオボタンについて教えて下さい。

    VB2008で開発をしています。 フォーム上にラジオボタンを3つ配置し、グループ化しています。  ラジオボタン1: radioBut0  ラジオボタン2: radioBut1  ラジオボタン3: radioBut2  グループボックス : GroupBox1 これらのラジオボタンのどれを True にするかを、変数 i で与えます。 Dim i AS Integer  i = 0 の時、radioBut0 を True にします。  i = 1 の時、radioBut1 を True にします。  i = 2 の時、radioBut2 を True にします。 これを、IF文を使わずに、簡潔にコーディングする方法がありますでしょうか。 おわかりの方、教えて下さい。 よろしくお願いします。

その他の回答 (2)

  • 回答No.3

まずは ラジオボタンが2,3個 実行ボタンが1個 の簡単なものを作ってから 実際のソース(Test.java) に乗せた方がいいですよ。 あと、前に誰かが仰ってたんですけど… java.awt と java.swing は一緒に使わないほうがいいみたいなこと言ってました。 理由は忘れましたし、今回の件に当てはまるかわからないですけど。 JRadioButtonじゃなくてButtonGroupクラスの方に選択されたボタンなどを返すメソッドがあるぽいですね。 #APIを斜め読みしただけですけど。:P

共感・感謝の気持ちを伝えよう!

質問者からのお礼

時間がありましたので、自分でやっていたところ判定ができました。 String1個用意し、初期値に3個のうちどれか入力しActionListenerで変わったらStringの値を変更させていきました。 >java.awt >と >java.swing >は一緒に使わないほうがいいみたいなこと言ってました。 確かに、途中でエラーが出てきました。 そのときListが使えなくなりました。 ListやJRadioButtonを使わなければならない理由はないのですが、一度それを使用した以上最後まで使いたいと思っていたので無理矢理使えるようにしましたw >JRadioButtonじゃなくてButtonGroupクラスの方に選択されたボタンなどを返すメソッドがあるぽいですね。 私もここでお聞きする前にプラットフォームで探してみたりしていたのですが、わからなかったので。 回答ありがとうございました。

  • 回答No.1
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)

どんな風にプログラムをしているか不明なので、 推測ですが、状況から public void itemStateChanged(ItemEvent e){ if(cb1.getState()==true) select=1; if(cb2.getState()==true) select=2; if(cb3.getState()==true) select=3; //repaint(); } みたいな感じで、どのラジオボタンが選ばれたのかというのを変数に保存しているのではないかと思いますが、 public void init(){ cbGp = new CheckboxGroup(); cb1 = new Checkbox("1", true, cbGp); cb1.addItemListener(this); add(cb1); select=1;//ラジオボタンをtrueにして変数にもセット cb2 = new Checkbox("2", false, cbGp); cb2.addItemListener(this); add(cb2); cb3 = new Checkbox("3", false, cbGp); cb3.addItemListener(this); add(cb3); btn = new Button("a"); btn.addActionListener(this); add(btn); } みたいな感じで、 init()の初期化で変数(フラグ)の設定を併せてやっていないのではないですか?

共感・感謝の気持ちを伝えよう!

質問者からの補足

回答ありがとうございます。 getState()を同じようにしてみたのですが、「未定義です」と表示されてしまいました。 なお、CheckboxではなくJRadioButtonを使っております。

関連するQ&A

  • ラジオボタンの選択後について

    初心者です、宜しくご指導ください。 ABCの3つのラジオボタン(【例】A:時給 B:日給 C:月給)を使用し、選択されたボタンによって、 Aにチェックが入ったら入力された数値を160倍したもの、 Bにチェックが入ったらその数値を20倍したもの、 Cにチェックが入ったらその数値をそのまま使用したものを、ちがう場所に計算結果として出したいときに、どのようなスクリプトを作れば良いのでしょうか。

    • ベストアンサー
    • HTML
  • 選択肢によってラジオボタンを押せなくする(無効にする)

    2.7.2.の質問があって、ラジオボタンの選択肢(1~5まで)によって、 1を選択したら、2.7.2.1のみ選択、その他はラジオボタン押せなくする 、2を選択すると、2.7.2.2のみ選択、その他はラジオボタン押せなくする 、3を選択すると、2.7.2.3のみ選択、その他はラジオボタン押せなくする 4、5を選択すると、2.7.2.1、2.7.2.2、2.7.2.3、すべてを押せなくして、submitボタンを押して次へという処理をしたいのですが、下記のプログラムではまったく動作しません。 どこが悪いのでしょうか?お分かりの方教えていただけませんか? <script language="javascript"> <!-- function check(){ if(document.form1.BQ20[0].checked == true) { document.form1.BQ201.disabled = false; document.form1.BQ201.bgColor='#FFFFFF'; }else if(document.form1.BQ20[1].checked == true) { document.form1.BQ202.disabled = false; document.form1.BQ202.bgColor='#D4D0C8'; }else if(document.form1.BQ20[2].checked == true) { document.form1.BQ203.disabled = false; document.form1.BQ203.bgColor='#D4D0C8'; }else{ document.form1.BQ201.disabled = true; document.form1.BQ201.bgColor='#FFFFFF'; document.form1.BQ202.disabled = true; document.form1.BQ202.bgColor='#FFFFFF'; document.form1.BQ203.disabled = true; document.form1.BQ203.bgColor='#FFFFFF'; } } // --> </script> 以下省略

  • ラジオボタンのチェックを判定したいです。

    phpとhtmlを使用して、ラジオボタンをいくつか作成したとします。 どのラジオボタンが選択されているかを判定する場合、通常ラジオボタンのvalueの値が、ある値と一致するかどうかで判定しますが、そうではなく、逆にチェックが入っているラジオボタンのvalue値を取得したい場合、どのようにすればいいのでしょうか? ちなみに、javascriptは使用したくないです。理由は、その値を再びphpの画面で使いたいからです。 もし、javascriptで取得した値をphpの画面に渡せれば、javascriptを使用してもOKなのですが、なかなか上手く渡せないようなので。。。 ご教授お願い致します。

    • ベストアンサー
    • PHP
  • asp上でのラジオボタンについて

    aspのプログラムでラジオボタンを設置し、「検索」というボタンをクリックすることで、ラジオボタンに対応する一覧データを表示するというプログラムを作っています。 ラジオボタンを「パターン1」、「パターン2」という2つを作り、どちらかチェック出来るようにしたのですが、検索ボタンをクリックすると、パターン1、パターン2のどちらをチェックしていても、パターン1にチェックされている状態になってしまいます。 一応、初期表示状態として、パターン1にチェックされた状態になっているのですが、パターン2をチェックしていてもパターン1に戻ってしまいます。 検索後も、チェックしたラジオボタンのまま表示させる方法として何かいいやり方があれば、教えてください。

  • ラジオボタンの未選択チェックについて

    ラジオボタンの未選択チェックに困っています! フォームにInputして、CGIで送信するように設定しています。 但し、送信内容を管理者がメール受信するため、ラジオボタンの「name」は漢字にしています。   <name> <value> Webの見やすさ = 見やすい  と表示されるようにです。 <INPUT type="radio" name="Webの見やすさ" value="見やすい" id="Q11"><label for="Q11"> 見やすい</label> <INPUT type="radio" name="Webの見やすさ" value="特に問題ない" id="Q12"><label for="Q12"> 特に問題ない</label> <INPUT type="radio" name="Webの見やすさ" value="ふつう" id="Q13"><label for="Q13"> ふつう</label>   <INPUT type="radio" name="Webの見やすさ" value="やや見にくい" id="Q14"><label for="Q14"> やや見にくい</label>   <INPUT type="radio" name="Webの見やすさ" value="見にくい" id="Q15"><label for="Q15"> 見にくい</label></TD> この場合、ラジオボタンの未選択チェックは、どのようにしたら いいのでしょうか? 今までは、「name」を英数にしていたので、下記のようにしていました。 <script language="JavaScript"> <!-- function chk(oj) { if ((oj.Q1[0].checked == false) && (oj.Q1[1].checked == false) && (oj.Q1[2].checked == false) && (oj.Q1[3].checked == false) && (oj.Q1[4].checked == false)) { alert("Q1のボタンが未選択です"); return false ; } else { return true ; } }//--> </script> 初心者のため、何を変えたらいいのか・・・ホームページを調べたのですが分かりませんでした。 「name」が漢字の場合、どのように指示したらいいのか、ぜひぜひご教授願います。 どうぞよろしくお願いいたします。

  • ラジオボタンについて。

    データの更新を行なう画面をつくり、データベースから取得したデータをもとにテキストの内容やラジオボタンのチェックの有無を画面に表示させようとしています。 最初に更新画面を呼び出し、データを表示することはうまくいくました。 しかし、IEの[表示]-[エンコード]や[最新の状態に更新]をやったり、戻るボタンで戻ると、テキストの内容は表示されるのですが、ラジオボタンは、なぜか一瞬チェックした後に、すぐチェックが外れてしまいます。 今やっているのは、Webの画面全てをASPで表示した後で、 最後にJavaScriptにより、 <script language='javaScript'> ラジオボタン名(i).checked = true; </script> のようにやっているのですが。。。 このやり方がまずいのでしょうか? 最初にボタン設定する際に"<INPUT TYPE ='radio' ~ checked>"で指定しなければいけないのでしょうか? よろしくお願いします。

  • チェックボックスをラジオボタンでの選択に変更したい

    タイムライン(1)にA・B・C3枚のデータを作成してあります。 a・b・c3通りのチェックボックスを作成して、「a」をクリックした場合にはb・cのデータが隠れ(false)aが表示される(true)(b・cも同様で、a・b・c全部を選択していない場合には全部が表示される)スクリプトを書きました。 ところが、チェックボックスの場合には、利用者が例えば2つを選択することが可能なために、この場合には2つのデータが表示され混乱します。 そのため、チェックボックスをラジオボタンに変更して、且つ同様な動きをさせたいと思っています。 ラジオボタンの場合は「ムービークリップ」のために同様なことは出来ないのでしょうか? 宜しくお願いします。

  • ラジオボタンのチェック

    VB2010で作成してるんですけど。 ラジオボタンをフォームに入れてデバッグすると、ラジオボタンがチェックされて表示されてしまいます。。 Form_Loadでラジオボタンのチェックを外すコードは書いたんですけど・・。 RadioButton1.Checked = False という風に。 でもやはりチェックがついています。。 どうしたらチェックを外した状態で表示できるでしょうか?

  • 初期状態でのフォーカスの解除

    VB.Netで実行したときに 初期設定でラジオボタンに全くチェックが 入っていない状態にしたいのですが、 どうしてもフォーカスが当たってしまい 一番上のラジオボタンにチェックが入ってしまいます。 よろしければご教授お願いします。 Option1.Value=False には設定しています。 (デザイン画面ではすべてのラジオボタンに チェックは入っていません)

  • FileMaker pro12 のラジオボタンの色

    FileMaker pro12 のラジオボタンのチャックボタンの色を変更したいのですが、初期設定の色はグリーンなのですが変更の方法がわかりません。よろしくお願いします。