Tôi đang làm việc trên một giao diện đồ họa lớn hơn với Java và tôi trở nên tức giận về Trình quản lý bố cục.Làm thế nào để thiết lập kích thước thành phần với GridLayout? Có cách nào tốt hơn?
Tôi có "Bảng điều khiển cài đặt" với số lượng JComponents thay đổi trong đó (Nhãn, Nút, JSpinners, JSliders, ...). Tôi chỉ muốn những điều sau:
JLabel < -> JComponent
JLabel < -> JComponent
JLabel < -> JComponent
...
Bảng điều chỉnh của tôi có một kích thước của 500px, để có đủ không gian cho rất nhiều thành phần. Thật không may GridLayout luôn luôn kéo dài kích thước của các thành phần cho toàn bộ bảng điều khiển, ngay cả khi tôi thiết lập một MaximumSize cho mỗi thành phần. Có vẻ ngu ngốc nếu chỉ có hai nút, mỗi nút có chiều cao 250px.
Tôi đã thử Bố cục luồng nhưng tôi không thể tìm ra cách để tạo các dòng mới một cách chính xác. Tôi đã thử BoxLayout.Y_AXIS, nhưng các thành phần luôn được căn giữa, và Label và Component không nằm trong cùng một dòng.
Có ai biết cách tốt và ngắn gọn với LayoutManagers để xử lý đúng cách không?
Bạn đã bao giờ nhận được phản hồi tốt về điều này chưa? Ban đầu tôi đã sử dụng BoxLayout và chạy vào vấn đề chính xác này, vì vậy mọi người đã nói với tôi sử dụng GridLayout, và tôi nhận được cùng một vấn đề như bạn ở trên. Bây giờ các bình luận của bạn nói để đi đến GridBagLayout. Giải pháp thực tế là gì? – theJollySin
Thật không may tôi không bao giờ có bất kỳ câu trả lời tốt hơn so với những ở đây. Tôi nghĩ rằng cuối cùng tôi đã sử dụng GridBagLayout, nhưng hiện tại tôi không có nhiều trong Java GUI. – Blackbam
Cuối cùng, giải pháp duy nhất có hiệu quả đối với tôi là tự thiết lập vị trí của mọi thứ. Nó không phải là khó khăn, và nó làm cho tôi nghĩ rằng tất cả các bố trí đặt trước thực sự là rất hạn chế sử dụng trường hợp. – theJollySin