Ширина JLabel не зависит от длины текста - PullRequest
4 голосов
/ 15 января 2011

У меня есть JLabel в JPanel горизонтального размера. JLabel автоматически изменяет ширину в соответствии с JPanel. Если я вставляю длинную строку текста (например, «aaaaaaaaaaaaaaaaaaaaaaaa»), JLabel не усекает текст. Вместо этого ширина изменяется в соответствии с текстом, вызывая также некрасивое изменение размера JPanel.

Вместо этого я хочу, чтобы мой текст был обрезан с помощью elipse (...). Ширина JLabel не должна наследоваться от длины текста, а только от ширины JPanel.

Ответы [ 3 ]

4 голосов
/ 15 января 2011

Попробуйте следующее:

final JLabel label = ...
...
label.setText("prototype text to define size");
final Dimension size = label.getPreferredSize();
label.setMinimumSize(size);
label.setPreferredSize(size);
...
label.setText(...);
0 голосов
/ 11 января 2013

Вам необходимо отключить «Горизонтальное изменение размера», когда вы определяете максимальный и предпочтительный размер

0 голосов
/ 15 января 2011

Используйте другой макет или установите максимальный размер на JLabel.

...