2012-04-14 7 views
7

thể trùng lặp:
setMaximumSize not working in javaJava đu setMaximumSize không làm việc

Tôi đã gặp rắc rối với JFrame lớp con tôi. Tôi cần đặt chiều cao tối đa.

Nhưng setMaximumSize không hoạt động. Có vẻ như đó là một lỗi trong java (setMinimumSize hoạt động). Làm thế nào có thể ngăn chặn một JFrame từ nhận được cao hơn một chiều cao nhất định?

+0

Xác định "không làm việc"? – simchona

+0

Vâng. Tôi sử dụng setMaximumSize trên JFrame của mình. Nhưng tôi vẫn có thể phóng to JFrame trên các giới hạn mà tôi đã đặt. –

+0

Bạn có thể quan tâm đến http://stackoverflow.com/questions/4061010/setmaximumsize-not-working-in-java – simchona

Trả lời

5

Sử dụng này để thay thế/cũng như:

setPreferredSize(new Dimension(width, height)); 

theo kinh nghiệm của tôi setPreferredSize(Dimension) mất sở thích và luôn luôn hoạt động.

Tôi thường sử dụng tất cả trong số họ anyway: setMinimumSize(), setMaximumSize(), setPreferredSize() và sau đó setSize() cũng

6

Theo kinh nghiệm của tôi, setMinimumSize và setMaximumSize là không đáng tin cậy - họ có thể làm việc trong một số tình huống, nhưng thường không khác

Giải pháp tốt nhất là sử dụng một ComponentListener, thực hiện componentResized và thực thi các min/kích thước tối đa rằng cách

+2

+1 Xem thêm [Tôi có nên tránh sử dụng các phương thức Kích thước (Ưa thích | Tối đa | Tối thiểu) trong Java Swing] (http://stackoverflow.com/q/7229226/230513)? – trashgod

+0

Bạn có thể giải thích về điều này không? Làm cách nào để bạn thực thi kích thước tối thiểu/tối đa bằng cách bắt các sự kiện thay đổi kích thước? AFAIK những sự kiện này được kích hoạt như thông báo và sẽ không hữu ích trong việc thực thi giới hạn kích thước. – Lieuwe