Текстовый компонент Java рассчитывает свой собственный предпочтительный размер - PullRequest
0 голосов
/ 11 октября 2011

Я делаю заказной компонент свинга и у меня возникла проблема. Я хочу простой текстовый дисплей (например, jlabel), который со временем меняет цвет. В настоящее время я расширил JPanel и переопределил paintComponent (Graphics), чтобы создать компонент, который может рисовать заданный текст и циклически изменять цвета, как требуется. Однако я не знаю, как заставить его всегда рисовать текст в центре компонента, или как заставить его рассчитывать свой собственный предпочтительный размер по умолчанию (поскольку я не знаю точных размеров текста), например, JLabel с установленным текстом автоматически возвращает правильное значение для getPreferredSize, и текст всегда аккуратно вписывается в метку, это функция, которую я хочу эмулировать. Кто-нибудь знает, как этого добиться?

1 Ответ

4 голосов
/ 11 октября 2011

Класс FontMetrics используется для определения геометрии отображаемого текста с определенным шрифтом.Это скажет вам, сколько места вам нужно для визуализации текста.
Взгляните на getLineMetrics методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...