Мне нужно знать, когда текст для JButton усечен макетом. Итак, для того, чтобы выяснить, я переопределение следующего метода в нашем пользовательском ButtonUI делегате:Как программно узнать, когда текст JButton усечен?
protected void paintText(Graphics g, JComponent c, Rectangle textRect, String text) {
//the text argument will show an ellipse (...) when truncated
}
В методе я проверяю, чтобы увидеть, если текст аргумент заканчивается эллипсом.
Есть ли лучший способ проверить, усечен ли текст? Как насчет эллипса? Это универсальный символ для усеченного текста, или мне нужно искать локализованные символы, которые будут разграничивать усеченный текст?
Я заметил, что OSX будет использовать один символ, представляющий эллипс, и Windows будет использовать три периода. Я предполагаю, что это основано на использовании шрифта, но это заставило меня задуматься о других вещах, которые могут подкрасться ко мне.
Спасибо.
Мне нравится это решение. Я могу перестать искать эллипс и просто показывать всплывающую подсказку в любое время, когда текст отличается. –