2012-04-26 44 views
8

tôi sử dụng GridLayout cho JPanel của tôi và đã tự hỏi, nếu nó có thể thay đổi độ rộng của cột:Thay đổi độ rộng của GridLayout

GridLayout grid = new GridLayout(5,2); 
panel.setLayout(grid); 

Có một cách đơn giản?

+2

bạn có muốn có các cột có độ rộng khác nhau không? –

+0

Tôi sẽ xem xét cả hai chiều rộng khác nhau cho các cột và thay đổi chiều rộng của toàn bộ bố cục. – user1170330

Trả lời

4

Bạn có thể sử dụng bố cục lưới riêng cho từng cột.

GridLayout grid = new GridLayout(1,2); 
    GridLayout grid1 = new GridLayout(5,1); 
     GridLayout grid2 = new GridLayout(5,1); 


     grid.add(grid1); 
     grid.add(grid2); 

Bây giờ bạn có thể đặt độ rộng của lưới1 một và lưới2.

+1

"lưới" dưới dạng đối tượng GridLayout không có "thêm". Cách thêm chúng vào chính họ –

5

Kiểm tra API GridLayout để biết rằng lưới được tạo sao cho tất cả các ô có cùng kích thước. Nếu bạn muốn một thành phần được hiển thị ở kích thước ưa thích của nó, như (15,15), hãy thêm nó vào một JPanel và thêm JPanel vào GridLayout. Các JPanel sẽ mở rộng để điền vào các tế bào gird và cho phép các thành phần được hiển thị ở kích thước ưa thích của nó.

Đối với hàng có kích thước khác, bạn sẽ phải thử một thứ khác. Bố cục lồng nhau sẽ là nơi bắt đầu tốt ...

Bạn luôn có thể sử dụng GridBagLayout đáng sợ.

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