2011-12-20 87 views
6

我有一個JPanel包含兩個JComponents,比如兩個JButton,btnLeft和btnRight。我希望這兩個按鈕水平對齊,並且我希望btnLeft位於JPanel的左側,而btnRight位於JPanel的右側,其間留下任何空間。將JComponents對齊JPanel的左側和右側

我知道我可以通過添加一個水平支撐中,我必須指定之間的空間量與BoxLayout的做到這一點,但必須有一個更簡單的方法,而無需指定剩的空間是什麼在之間。

我該怎麼做?

回答

4

聽起來horizo​​ntalGlue是你在找什麼:

JComponent comp = new JPanel(); 
    comp.setLayout(new BoxLayout(comp, BoxLayout.LINE_AXIS)); 
    comp.add(new JLabel("left")); 
    comp.add(Box.createHorizontalGlue()); 
    comp.add(new JLabel("right")); 
2

如果你不介意的垂直拉伸按鈕,爲什麼不嘗試:

import java.awt.BorderLayout; 

import javax.swing.JButton; 
import javax.swing.JFrame; 

public class JFrame1 { 
public static void main(String[] args) { 
     JFrame frame = new JFrame(); 
     JButton btn1 = new JButton("Btn1"); 
     JButton btn2 = new JButton("Btn2"); 
     frame.setLayout(new BorderLayout()); 
     frame.setSize(500, 400); 
     frame.add(btn1, BorderLayout.WEST); 
     frame.add(btn2, BorderLayout.EAST); 
     frame.show(); 
    } 
} 

enter image description here

+0

還考慮嵌套佈局在'EAST'和'WEST','FlowLayout'中。 – trashgod