Tôi đang sử dụng Swing GroupLayout và tôi bị nhầm lẫn về các giá trị GroupLayout.DEFAULT_SIZE
và GroupLayout.PREFERRED_SIZE
. Tôi không bao giờ biết khi nào nên sử dụng mỗi người trong số họ theo các phương pháp như GroupLayout.addComponent(Component, int, int, int)
.sự khác nhau giữa DEFAULT_SIZE và PREFERRED_SIZE là gì?
giả sử tôi có mã này:
GroupLayout l = ...;
l.setHorizontalGroup(l.createSequentialGroup()
.addComponent(tf1)
.addComponent(tf2));
l.setVerticalGroup(l.createParallelGroup()
.addComponent(tf1)
.addComponent(tf2));
có hai JTextField
s trên một dòng duy nhất đặt ra với GroupLayout
(một nhóm tuần tự theo chiều ngang và một nhóm song song theo chiều dọc). nếu tôi thay đổi kích thước cửa sổ ngay bây giờ, cả hai thành phần sẽ nhận được không gian có sẵn (50% mỗi phần). nhưng tôi chỉ muốn trường văn bản đầu tiên tăng/thu nhỏ theo chiều ngang và chỉ trường văn bản thứ hai để tăng/thu nhỏ theo chiều dọc. giá trị nào của phút, pref và tối đa tôi nên sử dụng để thực hiện điều đó? Tôi biết tôi chỉ có thể thử nó và xem những gì kết hợp hoạt động nhưng tôi muốn biết lý do đằng sau vấn đề này.
Về cơ bản GroupLayout được thiết kế để sử dụng trong trình soạn thảo giao diện người dùng WYSIWYG (như trong Netbeans). Bạn có yêu cầu sự tò mò hoặc bạn sử dụng nó "bằng tay" không? – pajton
cả hai :-) Tôi sử dụng trình soạn thảo WYSIWYG từ NetBeans nhưng tôi muốn hiểu mã để tôi có thể thực hiện một số trường hợp đơn giản 'bằng tay'. Tôi có nhiều quyền kiểm soát mã hơn khi tự làm. – cd1