2012-11-25 10 views
5

Jak mogę ustawić, aby JLabel wyświetlał się równo z bokiem ramki? Mam taki sam problem podczas korzystania z GridLayout lub BoxLayout.Jak używać marginesów i wypustek z Java GridLayout

Oto przykład, gdzie to się dzieje:

JPanel content = new JPanel(); 
content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS)); 
content.add(new JLabel("Hello World")); 

CSS ma pojęcia marż i obicia. Czy Java ma podobne?

Nadal chcę wyrównać do lewej, ale z kilkoma pikselami odstępu między krawędzią i etykietą.

+0

Masz na myśli, chcesz go wyśrodkować? – Mordechai

+1

Po prostu miałeś szczęście, spojrzałam na to pytanie, następnym razem, napisz komentarz do mojej odpowiedzi, powinienem zobaczyć twoją edycję. – Mordechai

Odpowiedz

13

Można ustawić pustą granicę dla JLabel, aby przenieść komponent ov er kilka pikseli od lewej krawędzi:

label.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 0)); 
1

Dla skupionych etykiet, spróbuj tego:

content.add(new JLabel("Hello World", JLabel.CENTER)); 

Jeśli używasz Box, można dodać przestrzeń poprzez wywołanie (na pudełku pionowym):

content.add(Box.createVerticalStrut(height)); 
content.add(new JLabel("Hello World")); 

Or na poziomie:

content.add(Box.createHorizontalStrut(width)); 
Powiązane problemy