簡體   English   中英

從模型中刪除所有元素后更新JList(AbstractListModel)

[英]Update JList after removing all the elements from the model(AbstractListModel)

我有一個JList,其中每個元素都包含一些特殊數據。 所以我已經為JList實現了AbstractListModel。

當我在列表中有一個或多個元素時,一切都很有效。

但是,在下面的場景中不起作用:

  • Jlist已經實例化了一些元素。
  • 我需要從列表中刪除所有元素。
  • 我沒有在模型中訪問JList對象(Component),因此無法調用repaint()。

我不能調用AbstractListModel的fire ***()方法,因為它拋出OutOfIndexException。

有什么建議么?

你說:

因為我正在調用fireContentsChanged(this,0,0)..這將查找列表中不存在的第0個元素。 我知道原因但不是解決方案。

刪除項目時不要調用fireContentsChanged(...) 請改為調用fireIntervalRemoved(...) 另外,在這種情況下,你永遠不必調用repaint() 更改模型的狀態,然后通過調用正確的fireXXX(...)方法通知模型的偵聽器是應該做的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM