GUIにJTable
があり、ユーザーがクリックしたセルの値に基づいて数値を返したいとします。これはコードです:JTable内のどのセルが選択されたかをどのようにして判断できますか?
ListSelectionModel newmodel = mytable.getSelectionModel();
newmodel.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
int row = mytable.getSelectedRow();
int column = mytable.getSelectedColumn();
int cell = getNewNum();
datefield.setText(String.valueOf(cell));
}
});
私はこれにいくつかの問題があります。まず、このメソッドは私のテーブルを編集可能にします。この方法を使う前は、テーブルを編集できませんでしたが、今ではエントリを削除できます。私はAPIを調べましたが、なぜこれがわからないのですか?次に、行3のセルをクリックして、セル3の別の行をクリックすると、イベントは登録されません。現在選択されている行のセルをクリックしてイベントを作成するにはどうすればよいですか?
のListSelectionListenerは、あなたのテーブルを編集可能にするれません追加:
は、最後に必要な値を得るために、あなたは自分のJTableのモデルの
getValueAt(row,col)
を呼び出し、またはこのような内容を取得する必要があります。セルの編集可能性は、TableModelのisCellEditable(...)メソッドまたはJTable自体によって制御されます。 – camickr[JTableセルがクリック/選択されたことを確認するにはどうすればいいですか?](http://stackoverflow.com/questions/4795586/how-can-i-check-which-jtable-cell-has-been-クリックして選択) – jlordo