簡體   English   中英

如何在JList模型中注冊更改?

[英]How to register a change in a JList Model?

我在理解哪個接口需要監聽listModel中的更改時遇到問題。 我以為是ListDataListener,但我無法理解其中的方法。 它有3種方法,這個方法似乎是我想要的方法,但我無法理解描述:

contentsChanged(ListDataEvent e) 
      Sent when the contents of the list has changed in a way that's too complex to characterize with the previous methods.

“過於復雜”是什么意思? 並通過“以前的方法表征”? 那么,整個事情意味着什么? 這是我想要的界面嗎?

ListModel將事件調度到其ListDataListener偵聽器。 列表模型在可能的情況下調用詳細的intervalAddedintervalRemoved方法更有效。 列表模型的監聽器(在這種情況下是JList )可以使用這些詳細的更改來對可視組件進行最小的更改(即,對於intervalAdded它可以只添加新行而不是重繪整個列表)。

但是,某些更改可能過於復雜,無法添加和刪除。 在這種情況下,列表模型可以選擇調用contentsChanged JList看到contentsChanged它很可能會從列表模型中重新獲取整個列表。

是的,那是正確的傾聽者。

該聲明意味着此方法更為通用,將涵蓋列表內容的每個可能的更改。 當這些特定事件發生時,應該使用其他的( intervalAddedintervalRemoved )。

在我的練習中,你將始終使用最通用的一個(即使是表監聽器)..我猜它應該用於優化(特別是大型列表)。

可在此處找到有關此偵聽器的教程。

暫無
暫無

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

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