• ベストアンサー

swingのJComboBoxについて

コンボをクリックした場合に条件によってコンボの中身を変更したいのですが、コンボがクリックされたときのイベントは取得できるのでしょうか? コンボのアイテム選択時のイベントはとれるのですが、上記の場合は取得できません。 ご教授お願いします。

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

  • ベストアンサー
  • PecoPlus
  • ベストアンサー率76% (144/188)
回答No.1

 こにちは。  addPopupMenuListener(PopupMenuListener l)を使って、PopupMenuEventをとってはいかがでしょう?  これだと、ドロップダウンメニューが出る直前にイベントを受け取れるので、その瞬間に中身を入れ替えてはどうですか。

nitirich
質問者

お礼

そのようなメソッドがあったのですね! 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JComboBoxでアイテムを連続して選択したいのですが・・・

    今、JComboBoxの中身は以下の通りです。 String[] comboData = {"Item1", "Item2", "Item3"}; DefaultComboBoxModel model = new DefaultComboBoxModel(comboData); これだと最初にItem1が表示されますが、最初の状態でItem1をクリックしても 選択されず、一度別のアイテムを選択してからItem1を再びクリックしないとItemStateChangedが呼び出されません。 また、連続してアイテムを選択しようとして2度同じアイテムをクリックしても、2回目はItemStateChangedが呼び出されません。 最初からItem1を選択したい場合、また、連続して同じアイテムを選択したい場合はどうすればよいのでしょうか。 ご教授よろしくお願いします。

    • ベストアンサー
    • Java
  • AndroidのPhoneGapのコンボの基本

    コンボのアイテム選択直後に発生するイベントでJavascriptの$('#formselecttag1 option:selected').val()で選んだアイテムの値が取得できるみたいなのですが、 これで取得できるのは<option value=1>2の場合、1と2にどちらが取得できるのでしょうか? また、それで取得できない方の値を取得するための方法も教えてください。

    • ベストアンサー
    • Java
  • コンボボックスの一部のアイテムを選択不可能に

    コンボボックスの一部のアイテムが 選択不可能な状態となるコンボボックスを作成したいのです。 以下のような感じです。 コンボボックス▼ ----果物---- りんご バナナ ----野菜---- キャベツ にんじん コンボボックスの▼部分をクリックすると リストが出てくるようなイメージです。 この[----果物----]と[----野菜----]の欄は 選択しクリックしてもリストを閉じずに無反応な状態にしたいのです。 WordやExcel2007のフォント選択ダイアログ内の [テーマのフォント]、[すべてのフォント]部分に近いイメージです。 変更時に来るイベントでどうにかしようとしましたがうまくできず、 コンボボックスクラスを自作すれば出来るのかなと思いますが、 いまいちどうして良いかわからないです。 VC++2005でMFCを使っています(CComboBox) わかる方がいらっしゃいましたらお教え頂ければ幸いです。

  • ウェブサイトのコンボボックスのアイテムを取得したいVB.NET

    ブラウザに表示されているコンボボックスのアイテムの文字列を取得したいです。 出来ればそのコンボボックスに登録されているものを 全部取得したいのですが、1つだけでも構いません。 a = AxWebBrowser1.Document.forms(0).Elements("ComboBox1").text 上記のような方法で取得しようとしているのですが、 .text の場合はHTMLSelectElementClassのメンバではないというエラーが出てしまいます。 Valueですと選択しているインデックス番号が取得できるのですが、 そうではなくて実際に表示される文字列を取得したいです。 あとこれを取得することが出来た場合、 For Nextで0~10などで AxWebBrowser1.Document.forms(0).Elements("ComboBox1").Value = i で選択を変更しては、取得するということを繰り返して 登録されているアイテム全てを取得しようと思っているのですが、 一度に全部取得する方法がありましたら教えて頂きたいです。 よろしくお願いいたします。

  • Access2000のVBAのイベントプロシージャについて

    以前から疑問に思っていましたが、イベントプロシージャの「更新前」と「更新後」と 「変更時」の意味、というかタイミングがよくわかりません。例えばコンボボックスの 「更新前」とは、具体的にはどういうときなのでしょうか。コンボの値を更新する前と いうのなら、何もいじってない状態という意味に取れるのですが、何もいじってないなら イベントは発生していないと思うのですが。また、コンボボックスの「更新後」は、 値が変わったときだと思うのですが(例えば「北海道」が選択されているコンボの値を 「東京都」に変えたときなど)、「更新後」と「変更時」はどう違うのですか? どうぞよろしくご教授ください。

  • コンボボックスの値の表示方法

    お世話になります。VB6で開発しています。 コンボボックス(cmb_No)で▼をクリックすると、従業員No(5桁)とその横に氏名が表示されるとします。 この一覧より一つクリックして選択したときに、コンボボックスのテキストには従業員Noのみ表示させたいのですが、何か方法はありませんでしょうか? Click時イベントでリストインデックス(idx)を取得後、 cmb_No.text = Left(cmb_No.List(idx),5) としましたが、テキストには表示されません。 普通に何もイベントを書かずに選択すると選択したものがそのままTextに残りますよね?

  • リストボックスの複数選択時のダブルクリックについて

    リストボックスをMultiExtendedで設定してあり、 複数を選択した状態でその選択されているどれかのアイテムを ダブルクリックすると選択されている全てのアイテム(番号)を 取得したいのですが、どのようにしたらできるでしょうか。 ListBox1_SelectedIndexChangedで複数選択アイテム番号を記憶させて 次にダブルクリックした際に、そのアイテム番号が記録の中の番号に 含まれていれば、記録してある番号のアイテムを全部取得して、 その後で、その記録されていた番号のアイテムを全部選択状態に 設定すればダブルクリックしたように見えると思ったのですが、 ダブルクリックの一回目のクリックでListBox1_SelectedIndexChanged イベントが 発生してしまい、複数選択の記録が消えてしまいます。 フラグを立てたりと色々試しているのですが、どうもうまく動作してくれません。 良い方法やヒントがありましたら、ご教授頂けると幸いです。 VB.NET2003、Framework1.1環境です。

  • C#のcomoboboxのアイテム選択直後にcomboboxウィンドウに表示される文字を変更するには?

    お世話になります。 C#で開発をしております。 comboboxでアイテムを選択直後にコンボボックスのテキストウィンドウに表示される文字を変更したいのですが、どのようにすれば変更できるか教えていただけないでしょうか? SelectedIndexChangedイベントや、TextUpdateイベント内で、 Text = "kk"; とすれば、どの項目を選択しても、kkと表示されると思ったのですが、 選択項目が表示されてしまいます。 2日悩んでいます。 宜しくお願い致します。

  • ToolStripMenuItemの選択(VB)

    フォーム上に、デザイン時に作成されたContextMenuStripに対して、 プログラム内で動的にそのメニューアイテム(ToolStripMenuItem)を追加します。 これが2階層までは、「ToolStripMenuItem.DropDownItemClicked」というイベントで取得できますが、 それより深い階層に動的に追加されたアイテムに対してのクリック(選択)が判別できません。 ContextMenuStripに、深い階層で動的に追加されたToolStripMenuItemのクリックを取得するには、 どうしたらよいでしょうか。 大元の、ContextMenuStripのClosingイベントで、大元から1つずつ選択されたノードを辿っていこうと考えましたが、selectedプロパティでは、最上階層までしか判別できません。 分かる方、教えて下さい。お願いします。

  • Excelマクロのコンボボックスについて

    初めてマクロを扱います。 マクロに詳しい方、コードをご教授ください。 Excelマクロを使い下記の機能をシートに盛り込みたいと考えております。 【実現したいこと】 ・シート上にコンボボックスを作成し、コンボボックスで選択した項目で絞り込めるようにする。 ・コンボボックスに格納される項目は、A列の重複を除外し、昇順で並べ替えたもの。 ・またコンボボックスに格納する項目は日々レコード追加されるため、コンボボックスの中身にも随時反映するようにしたい。 ・コンボボックスには「全て表示」というアイテムを追加し、「全て表示」を選択すると、フィルターが解除される。 わかりにくいかもしれませんが上記のことを実現したいと考えております。 どうかお知恵をお貸しください!! よろしくお願いします!!

このQ&Aのポイント
  • WiFiルーターのリセットが成功したかどうかを確認する方法を教えてください。
  • 現在、表示されているネットワーク名と本体ランプの表示状況について教えてください。
  • 旧WiFiルーター2.4GHz分のネットワークを削除する方法を教えてください。
回答を見る