web-dev-qa-db-ja.com

JListから選択したアイテムを削除します

選択したアイテムをJListから削除する簡単な方法を誰かに教えてもらえますか?

私はグーグルとここで検索しましたが、非常に多くの方法を見つけました。どちらを使用すればよいですか?

13
Bulit

@Andreas_Dが言ったように、データ中心の、より抽象的なListModelがソリューションです。 DefaultListModel にすることができます。 JListでモデルを明示的に設定する必要があります。だから(@kleopatraによるコメントに感謝):

DefaultListModel model = (DefaultListModel) jlist.getModel();
int selectedIndex = jlist.getSelectedIndex();
if (selectedIndex != -1) {
    model.remove(selectedIndex);
}

いくつかありますremove... DefaultListModelのメソッド。 ところで、API(ListModel)には即座の解決策がないため、これは良い質問です。

28
Joop Eggen

JListコンポーネントは、リストモデルによってサポートされています。したがって、リストから項目を削除するための推奨される唯一の方法viewは、モデルから項目を削除する(そしてビューを更新する)ことです。

3
Andreas_D

要素をモデルから削除すると、リストからも削除されます。詳細については、この JList の記事を参照してください。リストはモデルによってサポートされているため、モデルに対して何らかの操作を行うと、リストにも反映されます。ビューを更新するだけです。

0
Mike Tyson