2008-10-01 22 views
6

Mam JLabel (w rzeczywistości jest to JXLabel).Jak dodać poziomą lukę za pomocą JLabel'a

Umieściłem na niej ikonę i tekst.

<icon><text>

Teraz różdżki, aby dodać trochę odstępów po lewej stronie elementu, na przykład:

<space><icon><text>

Nie przyjmuję sugestię, aby przesunąć JLabel lub dodać odstępy przez modyfikowanie obrazu.

Po prostu chcę wiedzieć, jak to zrobić za pomocą zwykłego kodu Java.

Odpowiedz

13

znalazłem rozwiązanie!

setBorder(new EmptyBorder(0,10,0,0)); 

Dziękuję wszystkim!

4

tak: nie jest jasne, ale można dodać odstępy dodając przezroczystą granicy określonej szerokości etykiety

2

Jeśli próbujesz wcisnąć etykietę z jednej strony jest to pojemnik, możesz dodać klej. Coś takiego:

JPanel panel = new JPanel(); 
panel.setLayoutManager(new BoxLayout(panel, BoxLayout.LINE_AXIS); 

panel.add(new JLabel("this is your label with it's image and text")); 

panel.add(Box.createHorizontalGlue()); 

Chociaż twoje pytanie nie jest bardzo jasne.

1

Nie trzeba modyfikować preferredSize z JLabel, można użyć Menedżera GridBagLayout określić separacji między elementami, trzeba tylko użyć GridBagLayout w pojemniku i dodać JXLabel do niego z GridBagConstraints obiektu specifiying te wypustki do lewej:

JPanel panel=new JPanel(new GridBagLayout()); 
JLabel label=new JLabel("xxxxx"); 

GridBagConstraints constraints=new GridBagConstraints(); 

constraints.insest.left=X; // X= number of pixels of separation from the left component 

panel.add(label,constraints); 

pamiętać, że pominięto wiele właściwości konfiguracyjnych w konfiguracji ograniczeń, lepiej przeczytać DOCUMENTACION o GridBagLayout