ユーザインタフェース 14章 テーブル
- 14.1. javax.swing.JTable
- 14.2. javax.swing.table.TableModel
- 14.3. javax.swing.table.TableColumn
14.2. javax.swing.table.TableModel
「JTable」は内部データを「TableModel」インタフェースを実装したクラスで管理しています。このインタフェースを実装したクラスを作成し、「JTable」のコンストラクタに渡す事によって、テーブルを作成する事もできます。通常は「javax.swing.table.DefaultTableModel」を使用すれば良いでしょう。
DefaultTableModel model=new DefaultTableModel(); model.addColumn("Sunday"); model.addColumn("Monday"); .... String data=new String[7]; ... model.addRow(data); ... JTable table=new JTable(model);
「addColumn」メソッドで列の追加、「addRow」メソッドで行の追加を行います。「addColumn」メソッドでは追加する列のカラム名、「addRow」メソッドでは追加する行のデータ内容を引数として指定します。「addColumn」メソッドで追加する列のデータ内容を指定する事もできます。
(実習課題2)
実習課題1のプログラムを改良しなさい。
- テーブルを右クリックするとポップアップメニューを表示する。
- メニュー内容は「列の追加」「行の追加」「行の挿入」。それぞれ対応する動作が実行されるようにする事。
- (ヒント)「JTable」の「getSelectedRow」で選択されている行がわかります。
- (ヒント)「DefaultTableModel」の「insertRow」で行の挿入ができます。