-1

1 つの列に値を持つjtable(Gui レイアウト マネージャー) があります。booleanこの列にチェックボックスが表示されます。それはすべて問題ありませんが、列セルイベントリスナーが必要なため、このチェックボックスを押すと行データ全体が出力されます。

である程度成功しましたjtable.getModel().addTableModelListenerが、これはテーブル全体に影響を与えます。

jTabelRooster.getModel().addTableModelListener(
new TableModelListener() {
    public void tableChanged(TableModelEvent evt) {

        String lidnummer = jTabelRooster.getValueAt(evt.getLastRow(), 0).toString();
        int parseLidnummer = Integer.parseInt(lidnummer);
        String lidVoornaam = jTabelRooster.getValueAt(evt.getLastRow(), 1).toString();
        String lidAchternaam = jTabelRooster.getValueAt(evt.getLastRow(), 3).toString();
        Boolean aanwezig = Boolean.parseBoolean(jTabelRooster.getValueAt(evt.getLastRow(), 4).toString());

    }
});

誰かがこの件で私を怒らせることができますか?

4

2 に答える 2

3

setValueAtテーブルモデルの機能をオーバーライドしてみませんか? テーブルモデルの2つの座標と、ユーザーが入力した値を取得します

class YourTableModel extends YourBaseTableModel
{
    public void setValueAt(Object aValue, int rowIndex, int columnIndex)
    {
        //To keep the default behavior, if you didn't write this method yourself
        super.setValueAt(aValue, rowIndex, columnIndex);
        if(columnIndex == theBooleanColumnIndex)
        {
            //now with rowIndex you can access the underlaying row
        } 
    }
}
于 2013-06-22T14:59:23.143 に答える