obramowanie - java (swing)

0

Witam!

chciabym już z istniejącego JLabel'a, który posiada obramowanie pobrać kolor i rozmiar(grubość) jego obramowania.
Do obramowania mogę się dobrać tak: Border border = myLabel.getBorder(); ale jak dalej pobrać kolor i rozmiar. Nie istnieją takie metody jak: border.getColor()</code> czy <code>border.getSize()
Jak można rozwiązać ten problem?

Z góry dziękuję za pomoc!

0

Nie istnieją bo jest to ogólny interfejs obramowania. A co jeśli obramowanie będzie gradientem jaki wówczas kolor miałoby to zwrócić null ?. Jeżeli tworzysz obramowanie w postaci zwykłego prostokąta skorzystaj z http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/border/LineBorder.html wówczas:

boolean isBorderSupported(Component c) {
    return c.getBorder() != null && c.getBorder() instanceof LineBorder;
}

...
if (isBorderSupported(label)) {
     LineBorder b = (LineBorder) label.getBorder();
     System.out.println("Grubość: " + b.getThickness());
     System.out.println("Kolor: " + b.getLineColor());
}

</url>
0

Dzięki wielkie!!! Tego właśnie potrzebowałem ;-)

PS
Argument w metodzie isBorderSupported powinien być typu JComponent

1 użytkowników online, w tym zalogowanych: 0, gości: 1