2015-01-07 4 views
0

В Layout Manager, когда я использую setPreferedSize он увеличил размер JLabel, но показывает только одно слово как (JLabel = Name) после использования setPreferedSize JLabel становится как N.... Но setFont работает правильно.разницы между конечным результатом SetFont и setPreferredSize

Может ли кто-нибудь сказать точную разницу в поведении setFont и setPreferredSize?

+3

Эти два метода не имеют ничего общего друг с другом. – Kayaman

ответ

1

Но SetFont корректно работает ..

Именно, и это единственный метод, который вы должны использовать. Когда вы используете метод setFont(), компонент отвечает за определение предпочтительного размера. Компонент будет учитывать информацию, такую ​​как шрифт, текст, границу, чтобы определить ее предпочтительный размер.

Когда вы вызываете setPreferredSize(), вы сообщаете компонент, который вы знаете лучше, чего вы не делаете, потому что вы просто угадываете. Если ваша догадка слишком мала, вы видите «...», потому что недостаточно места для рисования всего текста.

Don't use setPreferredSize()!

+0

См. Также [Должен ли я избегать использования методов Set (Preferred | Maximum | Minimum) в Java Swing?] (Http://stackoverflow.com/q/7229226/418556) (Да.) –

Смежные вопросы