2011-09-05 72 views
17

是否有java swing的任何工具,這有助於發現在某個位置顯示/繪製哪個對象。檢查器/間諜工具

在有數百個面板和組件的複雜guis中,很難確定哪個組件顯示不應顯示的位置。

是否有一個工具,說我可以運行並將鼠標指向一個組件,它告訴我它的類或對象名稱或其他東西。

我一樣,對.NET的GUI(傑福爲WPF)看到的東西

感謝

+0

另請參見[Java SE 6桌面技術疑難解答指南](http://www.oracle.com/technetwork/java/javase/awt-138016.html)。 – trashgod

回答

10

嘗試Swing Explorer

+0

非常感謝,那就是它 – Charbel

+0

@Joonas:我沒有設法使它與Eclipse Helios一起工作。在他們的主頁上,它表示它們支持3.2.x和3.4.x,但是對於更新的東西沒有任何幫助。有沒有我不知道的黑客? – posdef

+0

@posdef:我不知道。也許嘗試[聯繫](http://www.swingexplorer.com/?page=contacts)他們或使用它[從命令行](http://www.swingexplorer.com/?page=documentation#Launching_Swing_Explorer_from_command_line)。 –

2

我不知道任何現成的工具,而是怎麼樣的MouseListener:

class AllComponentsListener extends MouseAdapter 
{ 
    public void mouseEntered(MouseEvent me) 
    { 
     System.out.println(me.getSource().getClass().getName()); 
    } 
} 
3

SwingExplorer可能是你在找什麼

+0

同樣的事情,除了我只能標記一個答案作爲答案。 – Charbel

+1

沒問題 - 無論如何,其他的都快了一點:-)很高興你找到了合適的東西 – kleopatra

4

類型控制 - \或發送-SIGQUIT運行一個Swing程序來查看診斷線程轉儲時。

kill -SIGQUIT 12345 

類型控制 + + F1看到活性搖擺容器層次結構的轉儲,如圖here