Tôi đã duyệt xung quanh và chưa tìm thấy giải pháp cụ thể phù hợp với tình huống của tôi. Tôi có một bảng điều khiển mà tôi hiển thị trong một hộp thoại:java Liên kết của bảng điều khiển BoxLayout
//create dialog panel
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(headerPanel);
panel.add(type1Panel);
panel.add(type2Panel);
panel.add(type3Panel);
panel.add(type4Panel);
panel.add(type5Panel);
panel.add(type6Panel);
int result = JOptionPane.showConfirmDialog(null, panel, "Please enter values.", JOptionPane.OK_CANCEL_OPTION);
Kích thước của hai tấm cuối cùng, type5 & type6, có kích thước tương đương để họ nhìn tốt. Tuy nhiên, tiêu đề và 4 bảng đầu tiên có kích thước khác nhau và tôi muốn tất cả chúng được căn trái. Kể từ đó tôi đã không tìm thấy một giải pháp tốt như thế nào để sửa lỗi này.
Câu hỏi là, làm cách nào để tôi căn chỉnh 5 ô đầu tiên, nhưng không phải cuối cùng 2? Nếu không làm thế nào tôi có thể trái align tất cả? Setalignmentx() không khả dụng cho các bảng. Tôi đã thử bằng cách sử dụng GridLayout, nhưng sau đó chiều rộng của cửa sổ chính của gui là khá lớn và không phù hợp độc đáo trên màn hình, do đó các BoxLayout dọc theo trục Y. Thanks cho bất kỳ trợ giúp hoặc gợi ý.
làm việc với quyền này ngay bây giờ: tiêu đềPanel.setAlignmentX (Component.LEFT_ALIGNMENT); Nhưng có vẻ như là đồi núi. Tôi đã thấy mọi người đề cập đến để tránh làm điều này. – whitewolfpgh
'Các setalignmentx() không có sẵn cho các bảng.' -' setAlignmentX() 'có sẵn cho tôi. Bạn có thể làm rõ? – Thomas
Tôi cũng đã tìm ra được vấn đề. Nếu bạn làm panel.add (headerPanel); sau đó làm headerPanel.setAlignmentX (Component.LEFT_ALIGNMENT); nó sẽ không sắp xếp đúng. Tuy nhiên, làm căn chỉnh đầu tiên, sau đó thêm headerPanel vào bảng điều khiển của hộp thoại nó hoạt động tốt. Đi con số. – whitewolfpgh