2011-12-20 37 views
6

Tôi có một JPanel chứa hai JComponents, nói hai JButtons, btnLeft và btnRight. Tôi muốn hai nút này liên kết theo chiều ngang và tôi muốn btnLeft ở phía bên trái của JPanel và btnRight ở bên phải của JPanel với bất kỳ khoảng trống nào bị bỏ lại ở giữa.Canh các JComponents ở bên trái và bên phải của JPanel

Tôi biết tôi có thể thực hiện việc này bằng Hộp thoại bằng cách thêm thanh ngang ngang , trong đó tôi phải chỉ định dung lượng giữa, nhưng phải có cách đơn giản hơn mà không phải chỉ định dung lượng còn lại ở giữa là.

Làm cách nào để thực hiện việc này?

Trả lời

4

Âm thanh như horizontalGlue là những gì bạn đang tìm kiếm:

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

Nếu bạn không nhớ các nút kéo dài theo chiều dọc, tại sao không thử:

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

Cũng xem xét một bố cục lồng nhau trong 'EAST' và' WEST', 'FlowLayout'. – trashgod

Các vấn đề liên quan