Автоматическое масштабирование шрифта для соответствия панели - PullRequest
2 голосов
/ 12 апреля 2011

У меня есть приложение Swing, основная панель которого разделена на сетку диаграмм 3х2, и размер приложения можно изменить с помощью автоматического масштабирования диаграмм (JFreeChart).На одной из этих панелей я бы хотел отобразить рейтинг Apdex, который представляет собой просто текст (например, «0,89 [0,5] *»).Мы используем приложение для отображения на мониторе, видимом для всех, и масштабируем несколько экземпляров приложения, которые отслеживают различные центры обработки данных.Мне нужно масштабировать размер шрифта Apdex под свободное пространство на панели.

Есть хорошие идеи?

Ответы [ 2 ]

2 голосов
/ 12 апреля 2011

Я бы вывел его за пределы экрана при некотором подходящем большом размере точки, как показано здесь , а затем уменьшил бы его, используя AffineTransformOp, как показано здесь .

2 голосов
/ 12 апреля 2011

После перечитывания и переосмысления вопроса я бы предложил вам попытаться вычислить его самостоятельно, используя FontMatrics stringWidth со строкой и итеративно увеличивая размер шрифта до тех пор, пока вы не сможете, т.е. размер, оцененный вами, в зависимости от доступного пространства.

Был бы готов готовый алгоритм, но я не слышал ни о каком.

Удачи, Боро.

...