- - PR -
JTableでチェックボックス
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-24 22:05
こんにちわ
104です JTableでのチェックボックスについて質問があります sunの公式HPを見てAbsutractTableModelを実装して チェックボックスの表示を行ったのですが 表示は成功したのですが、クリックして何もおきません なぜか原因が不明です わかる方いらっしゃいましたら ご教授お願いします 下記にAbsutractTableModelを実装したものを書いておきます import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.SwingUtilities.*; import javax.swing.table.*; public class FooTableModel extends AbstractTableModel { // テーブルカラム名。 private String[] columnNames; // テーブルデータ。 private Object[][] data = new Object[0][]; /** * コンストラクタ。 * @param columnHadder テーブルのカラムヘッダーに表示する文字列の配列を指定。 */ public FooTableModel(String[] columnHadder) { this.columnNames = columnHadder; } /** * カラム数を返す。 * @return カラム数。 */ public int getColumnCount() { return columnNames.length; } /** * 行数を返す。 * @return 行数。 */ public int getRowCount() { return data.length; } /** * カラムの名称(タイトル)を返す。 * @param int 名前を知りたいカラム位置。 * @return カラム名称(タイトル)。 */ public String getColumnName(int col) { return columnNames[col]; } /** * 指定されたセルのデータを返す。 * @param int 行位置。 * @param int カラム位置。 * @return 指定されたセルのデータ。 */ public Object getValueAt(int row, int col) { return data[row][col]; } /** * 指定されたカラムに格納されているデータの型を返す。 * @return 指定されたカラムに格納されているデータの型。 */ public Class getColumnClass(int c) { Class cls = null; try { cls = getValueAt(0, c).getClass(); } catch (Exception e) { return String.class; } return cls; } /** * 指定された位置のセルを編集可能にするかどうかの判定を行う。 * @param int 行位置。 * @param int カラム位置。 * @return 指定された位置のセルを編集可能にするかどうかの判定結果。 */ public boolean isCellEditable(int row, int col) { return false; } /** * 指定されたセルにデータを設定する。 * @param Object 設定したデータ。 * @param int 行位置。 * @param int カラム位置。 */ public void setValueAt(Object value, int row, int col) { data[row][col] = value; fireTableCellUpdated(row, col); } /** * テーブルモデルにデータを設定する。 * @param data 設定したいデータ。 */ public void setData(Object[][] data) { this.data = data; fireTableDataChanged(); } /** * 行数を返す。 * @return 行数。 */ /* public void setRowCount(int i) { this.data = new Object[0][i]; }*/ } | ||||||||
|
投稿日時: 2004-02-25 01:33
どこを見たのかは分かりませんが、これは役に立ちませんか? http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#data http://java.sun.com/docs/books/tutorial/uiswing/components/example-1dot4/TableDemo.java それと、
このメソッドがfalseを返すと、セルを編集できません。 つまり、チェックボックスをいくら押しても何も変わりません。 | ||||||||
|
投稿日時: 2004-02-25 09:26
104です
koeさんありがとうございました。 ご指摘のあったメソッドを直して結果 編集可能になりました。 本当にありがとうございました。 | ||||||||
1
