2012-02-02 16 views
5

Tôi có một hộp thoại Miglayout đơn giản với các hàng gồm JLabels và JTextFields. Khả năng hiển thị của một số thành phần được thiết lập tùy thuộc vào hoàn cảnh. Tuy nhiên, khi chúng được ẩn chiều cao hàng vẫn giữ nguyên để lại một vùng trống.Làm cách nào để thu hẹp chiều cao hàng Miglayout về 0 khi tôi ẩn các thành phần

Tôi đã đặt chiều cao hàng tối thiểu là 0px và cũng có các hàng khác được đặt thành 'phát triển', nhưng điều này dường như không giúp ích gì. Chắc chắn, nếu một hàng có thể cao 0px và nội dung của nó bị ẩn, thì nó sẽ bị thu nhỏ phải không? Rõ ràng tôi đang thiếu một cái gì đó!

Bất kỳ trợ giúp nào được đánh giá cao.

Trả lời

5

Bạn có thể đặt hidemode của bố cục để ngăn các thành phần vô hình ảnh hưởng đến bố cục.

Từ http://migcalendar.com/miglayout/cheatsheet.html:

Thiết lập chế độ ẩn mặc định cho cách bố trí. Chế độ ẩn này có thể bị ghi đè bởi ràng buộc thành phần. Chế độ ẩn được chỉ định cách trình quản lý bố cục xử lý thành phần không hiển thị. Các chế độ là: 0 - Mặc định. Có nghĩa là các thành phần vô hình sẽ được xử lý chính xác như thể chúng có thể nhìn thấy được. 1 - Kích thước của một thành phần vô hình sẽ được đặt thành 0, 0. 2 - Kích thước của một thành phần vô hình sẽ được đặt thành 0, 0 và khoảng trống cũng sẽ được đặt thành 0 xung quanh nó. 3 - Các thành phần vô hình sẽ không tham gia vào bố cục nào cả và ví dụ như nó sẽ không chiếm một ô lưới.

1

Bạn có thể cần phải gọi panel.revalidate() để bố cục các thành phần sau khi thay đổi mức hiển thị của chúng.

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