簡體   English   中英

必須調整Jtree的大小以重新繪制所選節點

[英]Jtree must be resized to repaint the selected node

我有一個帶有自定義TreeModel(實現TreeModel的類)的JTree。 該樹正常工作,除了一件奇怪的事情:當我單擊節點或使用箭頭鍵四處移動時,樹不會重新粉刷選定的節點(新選定的節點周圍沒有邊框),並且先前的選擇消失了。 節點也被繪制為正常高度的兩倍。 首先,我認為樹沒有響應用戶的輸入,后來我發現調整窗口大小(導致重新繪制)后,樹可以正確反映更改。

這種行為可能是什么原因?

對不起,問題解決了。 問題出在TreeModel中:向父級添加子級會導致添加子級以及父級本身,因此JTree出現了重新繪制問題。 我錯誤地實現了添加子節點的方法。

在TreeModel的文檔中,有一條明顯的提示:“ ...如果不滿足此條件,則可能導致繪畫問題和其他異常情況。”

暫無
暫無

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

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