Có thể làm cho phía đông (hoặc phía tây) của BorderLayout trải rộng trên toàn bộ bảng điều khiển (bao gồm phía bắc/nam) không?Java BorderLayout stretch east
5
A
Trả lời
7
Chỉ cần loại bỏ Tây và Đông từ bảng điều khiển này và tạo ra một mới "cha mẹ" bảng điều khiển:
JPanel newPanel = new JPanel();
newPanel.setLayout(new BorderLayout());
newPanel.add(westernPanel, BorderLayout.WEST);
newPanel.add(yourOldPanel, BorderLayout.CENTER);
newPanel.add(eastenPanel, BorderLayout.EAST);
1
Không trực tiếp, nhưng bạn có thể có một cách bố trí biên giới không có "đông" lồng trong vòng bố cục có Đông hiện tại của bạn ở vị trí chính xác ... Có ý nghĩa không?
TL; DR: số
2
không thể với đơn JPanel
xếp chồng bởi BorderLayout
1) bằng cách sử dụng hai JPanels
, nơi NORTH
, WEST
, CENTER
và SOUTH
khu vực có thể được đặt vào 1st JPanel
(frame.add(1stPanel, BorderLayout.CENTER)
) và đồng bằng 2nd JPanel
đến frame.add(2ndPanel, BorderLayout.EAST)
,
2) bạn có thể sử dụng BoxLayout
cho khu vực trong EAST
từ container
3) chút phức tạp có thể được sử dụng GridBagLayout
hoặc MigLayout
(trong trường hợp này)
trình như một say mê, cảm ơn. – Reinard