2016-11-22 86 views
0

我正在使用大量Java代碼並廣泛使用Swing。代碼深處的某個地方,JScrollPane會以一種非零高度和寬度的方式進行更改。我需要找到那個,但我對它發生的位置感到困惑。Java Eclipse調試:跟蹤繼承類var

嘗試設置訪問&修改監視相關JScrollPane var,但結束了太多命中。將其削減到僅僅是修改,但這似乎並沒有捕捉到窗格高度/寬度的變化。

試着把手錶放在JScrollPane的height屬性上,但是這個var繼承自Component,這意味着我得到的Waaay太多了。

嘗試了谷歌搜索,但沒有運氣。

問題:有沒有辦法在JScrollPane實例的height屬性上設置監視,也就是說,只有在對JScrollPane的高度進行更改時纔會中斷,而不是對繼承的任何其他類型的高度進行更改從?

或者,如果我只是困惑,並有更好的方式來找到相關的代碼部分,請通過一切手段,讓我不要混淆。

Tnx!

回答

0

您可以嘗試在該斷點上添加一個斷點到Component.reshape(),然後是setting a condition。對於初學者來說,嘗試一個條件表達式,檢查類當前實例的,像

它不存在保證工作,因爲有可能的東西來設置高度不通過reshape()去。

+0

感謝您的建議。不幸的是,我得到一個編譯時錯誤消息:「無法編譯條件斷點 - 缺少Java項目上下文」。我試圖擴充它來讀取javax.swing.JScrollPane,但這沒有幫助。我錯過了什麼? TNX。 – user1359010

+0

你是怎麼打開'Component'類的?嘗試使用引用'Component'的一些代碼並使用F3打開它;這樣你肯定知道它在你項目的上下文中。 –

+0

再次感謝。以前沒有做過你的建議,所以我可能會感到困惑。我的代碼引用了JScrollPane,JScrollPane繼承自JComponent,Container和Component。當我在代碼中的JScrollPane上使用OpenTypeHiearchy時,我可以看到該層次結構,並可以通過向上幾級選擇Component的重塑方法。已經設置了斷點,但沒有成功。我應該做其他事嗎? TNX。 – user1359010