2015-10-16 129 views
0

我有一個JPanel插入到我的JFrame中。 現在,我想在我的JPanel的左邊顯示一個JLabel。所以我有這樣的代碼:如何在JPanel中設置左對齊JLabel

JPanel panelHeader = new JPanel(); 
panelHeader.setBackground(new Color(52,151,236)); 
panelHeader.setPreferredSize(new Dimension(300,25)); 

GridBagConstraints GBC = new GridBagConstraints(); 
Container CR = new Container(); 
GridBagLayout GBL = new GridBagLayout(); 
CR.setLayout(GBL);  
panelHeader.add(CR); 

LabelFormat label = new LabelFormat("EasyManagement",new Font("Arial Narrow", Font.PLAIN, 16),Color.white); 
GBC = new GridBagConstraints(); 
CR.add(label); 
GBC.gridx=0; 
GBC.gridy=0; 
GBC.insets.left = 1; 
GBC.insets.top=0; 
GBC.fill = GridBagConstraints.BOTH; 
GBC.anchor= GridBagConstraints.EAST; 
GBL.setConstraints(label,GBC); 

有了這個代碼,我不能在上的JPanel左邊顯示的JLabel,但我看到它的中心。

我該如何修復它?

+0

它有用嗎? – VERYNET

回答

2

- 您可能希望設置JLabel的horizo​​ntalAlignment屬性。一種方法是通過它的構造函數。嘗試:

label.setHorizontalAlignment(SwingConstants.LEFT); 

- 您也可以嘗試使用您的JLabel的JPanel容器

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

-Final方式左對齊:

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

這也可以通過預期的setter方法完成:

您可以將標籤JPanelFlowLayout.LEADING

JPanel wrapper = new JPanel(new FlowLayout(FlowLayout.LEADING,0, 0)); 
wrapper.add(Jlabel); 
panel.add(wrapper); 

enter image description here


還記得遵循Java的命名約定。變量以使用駱駝外殼的小寫字母開頭:JlabeljLabel