2

この問題に関してこの Web サイトで非常に多くの質問を読みましたが、まだ機能していない理由がわかりません。

問題:

を のJTable中に表示するようにしましたJScrollPane。はJTable次のように構成されます。

table = new JTable(new DataTableModel());   

ご覧のとおり、私は というカスタムを使用していAbstractDataModelますDataTableModel。これを表示すると、チェックボックスが表示されますが、選択できません。以下に示すように、それらは編集可能です。クラスの関連コードは次のDataTableModelとおりです (チェック ボックスの列はインデックス 0 の最初の列であり、この列の配列内のデータは「null」であることに注意してください)。いくつかのための

public class DataTableModel extends AbstractTableModel
{
    private String[][] data;
    private String[] header =
    { "", "KB Name", "fpGUID" };

    public DataTableModel() throws SQLException
    {
        // ========= CONNECTS TO DB AND PULLS RESULTS ==========

        // GETS RESULTS SET CALLED "rs"

        // populate data array
        int counter = 0;
        while (rs.next())
        {
            //data[counter][0] = "sfsdfsdfs ";
            data[counter][1] = (String) rs.getObject(2);
            data[counter][2] = (String) rs.getObject(4);

            counter++;
        }
        // =====================================================

    }

@Override
public String getValueAt(int rowIndex, int columnIndex)
{
    return data[rowIndex][columnIndex];
}

public boolean isCellEditable(int row, int col)
{
    return col == 0;
}

public Class getColumnClass(int column)
{
    if (column == 0)
    {
        return Boolean.class;
    } else
    {
        return String.class;
    }
}

それで、私のgetColumnClass()方法は問題ないようですが、何が問題なのですか?テーブルのデータを保存する「データ」に何かあるのでしょうか。データ配列は次のとおりです。

4

1 に答える 1