2011-07-12 9 views
11

Istnieje jedna metoda, która drukuje informacje o układzie dla konkretnych komponentów. Wiedziałem, że istnieje jedna metoda, ale zapomniałem nazwy.Jak debugować układy Swapu Java

Po wywołaniu tej metody dla składnika Swing wyświetla szczegóły układu dla tego komponentu, podobnie jak wywołanie dumpstacktrace.

Każdy pomysł? Jaka jest nazwa tej metody? Przeczytałem to w jednej książce, ale zapomniałem. Lub daj mi znać kilka dobrych sposobów na debugowanie układu Java Swing.

+0

Czy masz na myśli getLayout()? –

Odpowiedz

15

Narzędziem wizualnym do debugowania jest Swing Explorer, które ma również wtyczki do Netbeans i Eclipse. Pozwala poruszać się po drzewie komponentów Swing i może być całkiem przydatne.

+3

To nie zadziałało dla mnie w IDEA 13 –

+4

Link jest zepsuty. I nie mogę znaleźć projektu na marketplace.eclipse.org. – Nateowami

+0

Swing Explorer jest bardzo stary i projekt został zakończony. –

2

Każdy kontener (i to obejmuje wszystkie składniki JComponent) ma metodę getLayout(), która zwróci menedżera układu, który został ustawiony dla tego komponentu lub wartość null, jeśli żadna z nich nie jest ustawiona (ale pamiętaj, że wiele z nich ma domyślne menedżery). Możesz także uzyskaćComponents(), aby zwrócić tablicę przechowywanych komponentów. Jeśli chcesz zobaczyć wszystkie menedżery układu, musisz napisać metodę rekursywną, aby przejrzeć wszystkie przechowywane składniki, sprawdzić, czy dziedziczą one z kontenera, a następnie wywołać powyższe metody.

5

Nie wiem o konkretnej metodzie tego, możesz to zrobić za pomocą naciśnięcia klawisza w czasie wykonywania.

Spójrz na stronie: Troubleshooting AWT

Zapewnia następujące końcówki debugowania:

zrzucić hierarchię komponentów AWT, naciśnij Ctrl + Shift + F1.

Zapewnia również inne wskazówki dla układu debugowania w sekcji „Problemy z układem” i tam jest inny rozdział poświęcony Swing „Rozwiązywanie Swing”

29

Gdy JFrame jest widoczny naciśnij CTRL + SHIFT + F1 zobacz dane wyjściowe konsoli dla hierarchii drzew komponentów i układów.

+0

Nie mogę uzyskać tego na zaćmieniu, które masz na myśli lub w oknie wychylania się (podczas debugowania ..etc – shareef

+0

@shareef W oknie i to zrzuci na konsolę. – Nateowami