1

私は本が取り込まれた Jlist を持っていますが、私がやりたいことは、本の 1 つが選択されたら、本をリストから削除する必要がある return book というボタンを押すことです。

私は次のようにリターンブックメソッドを持つメンバークラスを持っています

public void returnBook(Book aBook)
{
    currentLoans.remove(aBook);
    aBook.setBorrower(null);
}

私のメインアプリケーションでは、返却本ボタンの下に次のコードがあります

private void theButtonActionPerformed(java.awt.event.ActionEvent evt) {                                          
  //!!!Return book
  DefaultListModel model = (DefaultListModel) BooksOnLoan.getModel(); 
  Book selectedBook;
  selectedBook = (Book)BooksOnLoan.getModel();
  model.remove(selectedBook); 
}  

ご覧のとおり、ボタンをクリックするとリストから項目を削除する方法がよくわかりません。

4

1 に答える 1

4

DefaultListModel のメソッド「remove」はインデックスで機能するため、最初に削除する要素のインデックスを取得し、それを remove メソッドに提供する必要があります。そのためにリストでメソッドを使用できます。単一選択モードの getSelectedIndex メソッド (選択がない場合は -1 を取得します)、または複数選択の getSelectedIndices です。

いずれにせよ、この後もリストが同じままである場合は、モデルが変更された後に GUI を更新する必要があります。そうする必要がないことはほぼ確実ですが、将来のためにこの原則を心に留めておいてください。

于 2013-10-08T20:45:17.433 に答える