2012-04-13 16 views
-2

キーイベントを使用してJTableで選択した行を削除する必要があります。行を選択してDeleteキーを押すと、選択した行の値を削除する必要があります。これどうやってするの?java swingでキーイベントのJTableで選択した行を削除する方法

+0

あなたが既に試したことをさらに投稿して、人々があなたのために考えなければならないと感じないようにする必要がある場合。 http://tinyurl.com/so-hints –

+0

@AngeloNeuschitzer:縮小する必要はありません[* Jon Skeet:Coding Blog *](http://msmvps.com/blogs/jon_skeet/archive/ 2010/08/29/writing-the-perfect-question.aspx);詳細は、[*コメントのフォーマットとリンクはどのようにする* *](http://meta.stackexchange.com/q/19756/163188)を参照してください。 – trashgod

答えて

1

カーソルを現在選択している行を取得してから、その行でremoveRowを呼び出す必要があります。

私はあなたがAPI for JTable.

を読むことをお勧めします、私はそれを使用したコードの複数の行を使用していますが、一つにそれを打破することができるはずです(これを試してみてください。配列場合にも、私はわかりませんよ.sortが本当に必要です)

int [] toDelete = dataTable.getSelectedRows(); 
Arrays.sort(toDelete); // be shure to have them in ascending order. 
MyTableModel myTableModel = (MyTableModel)dataTable.getModel(); 
for(int ii = toDelete.length -1; ii >=0; ii--) { 
    myTableModel.removeRow(toDelete[ii]); // beginning at the largest. 
} 
+0

そのコードは何ですか – user1330693

+0

@ user1330693私はコードを追加しました。 –

+0

最新の['JTable'](http://docs.oracle.com/javase/6/docs/api/javax/swing/JTable.html)のドキュメントに示すように、モデル索引に変換する必要があります。より良い:「ListSelectionListener」を使用してください[ここ](http://stackoverflow.com/a/10130736/230513)。 – trashgod

関連する問題