2013-07-07 17 views
6

JLabel'ımı sola hizalamak istiyorum.JLabel, JPanel'in solunda nasıl hizalanır?

String lText = "<html><b><font color = white face = comic sans ms size = 20>mybook</font></b></html>"; 
    JLabel label = new JLabel(lText); 
    label.setBorder(new EmptyBorder(25,0,25,500)); 

Bunu, EmptyBorder kullanarak yapmaya çalıştım ancak düzgün hizalamıyor. FlowLayout kullanıyorum

cevap

5

JLabel'ın horizontalAlignment özelliğini ayarlamak isteyebilirsiniz. Bir yolu kurucusu ile. Deneyin:

JLabel label = new JLabel(lText, SwingConstants.LEFT); 

Bu aynı zamanda beklenen ayarlayıcı yöntemi ile yapılabilir:

label.setHorizontalAlignment(SwingConstants.LEFT); 
+0

Bu için LEFT hizalama kullanmayı deneyin. –

13

FlowLayout varsayılan olarak CENTER hizalama kullanır. Sadece etiket panelinde hizalanmış değil nasıl etiketin sınırında, içindeki metni hizalamak olacaktır JLabelJPanel konteyner

myJPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); 
+0

Bu, panelin tamamını sola hizalar. Sadece etiketimi sola hizalamak istiyorum. –

+0

@ArchitVerma: 'JLabel'i bir JPanel'e cevabında önerildiği gibi koyun ve bu yeni 'JPanel'i' JLabel'inizin şu anki yerine yerleştirin ':-) Yapmaz mı? –

+0

I.e. "FlowLayout" kullanıyorsanız iç içe geçmiş kapları kullanmanız gerekecek – Reimeus