« このままでは無敵の人が増えていく | メイン | ネコと糸の理論 »
2008年12月 8日
【NetBeans】jTableのセルのエディタでコンボボックスを使えるようにする【java】
NetBeansに限った話ではないのですけれども、JTableのセルエディタでコンボボックスを使うための簡単な例を紹介しておきます。
適当に作成したJFrame上に、jTableとjButtonを配置します。

jButtonのアクションを設定します。(今回はbuttonClicked関数を設定)

buttonClicked関数の中身を実装していきます。JComboBoxのインスタンスをDefaultCellEditorの引数に用いて、DefaultCellEditorのインスタンスをsetCellEditorの引数として用います。

ボタンを押すと、「Title 1」の列のセル全てがコンボボックスとして使えるようになります。

次に設置したコンボボックスから値を取得する方法を紹介します。一例として、値を取得するためのボタンを設置します。

設置したボタンをクリックした際のイベント関数を実装します。

System.out.println((JComboBox)((DefaultCellEditor)(jTable1.getCellEditor(3, 0))).getComponent()).getSelectedIndex());
実際にボタンを押してみると標準出力にComboBoxで選択したIndexが表示されます。

<参考サイト>
● javadrive...コンボボックスをセルエディタとして設定する
● プログラマメモ2...JTableのセルのエディターにコンボボックスを使う
P.S.1
個々のセルごとに個別のComboBoxを設置するには、DefaultCellEditor の派生クラスを作る必要があります。
P.S.2
今更思い出したのですがJavaの開発環境Forteって今どういう扱いなんだろう。いつの間にか名前を聞かなくなったなぁ。(ここにちょっと書いてあった)
投稿者 cazper : 2008年12月 8日 23:50
|
Tweet
トラックバック
このエントリーのトラックバックURL:
http://www.cazoo.jp/cgi/mt/mt-tb.cgi/2376