0

データベース値に基づく3列と動的行を持つテーブルと、このコードに基づく最後の列にjcheckboxがあります。

  TableColumn tcolumn = tabel.getColumnModel().getColumn(2);
     tcolumn.setCellRenderer(tabel.getDefaultRenderer(Boolean.class));
       tcolumn.setCellEditor(tabel.getDefaultEditor(Boolean.class));

私のテーブルの例:

============================================
val 1 || val 2 || val 3 (checkbox) ||
============================================

from FB || from DB || checkbox           ||

from DB || from DB || checkbox           ||

===========================================     

私の質問は簡単です。列 2 (値 3) でチェックされたチェックボックスから値 1 をすべて取得するにはどうすればよいですか?

多くの単純なコードを試しましたが、それでもエラーが発生しました。

これは私のコードです:

for (int row =0; row <= tabel.getSelectedRowCount(); row++) {
  Boolean b = ((Boolean) tblModel.getValueAt(row, 2));
     if (b.booleanValue()) {
       System.out.print(tblModel.getValueAt(row, 0)+" || ");
    }
  } 
4

1 に答える 1

1

どのようなエラーが発生したのか、どこで発生したのかは明確ではありません。へのキャスト エラーが疑われBooleanます。一般的なガイダンスとして、 のデフォルトのレンダラーとエディターは; 明示的に設定する必要はありません。ここに示されているように、キャストを成功させるために次の原則を守ってください。Boolean.classJCheckbox

  • タイプの値を に挿入Boolean.classしますTableModel

  • 関連する列のBoolean.class元に戻ります。getColumnClass()

  • から目的の値を返しますisCellEditable()

于 2013-06-23T22:27:09.203 に答える