我在一个水平重新调整大小的JPanel中有一个JLabel。 JLabel自动调整其宽度以适应JPanel。如果我插入一长行文本(例如“aaaaaaaaaaaaaaaaaaaaaaa”),JLabel不会截断文本。相反,宽度会重新调整大小以适应文本,从而导致JPanel的重新调整大小。
相反,我希望我的文本被一个elipse(...)截断。 JLabel宽度不得继承文本的长度,只能从JPanel宽度继承。
答案 0 :(得分:4)
请尝试以下操作:
final JLabel label = ...
...
label.setText("prototype text to define size");
final Dimension size = label.getPreferredSize();
label.setMinimumSize(size);
label.setPreferredSize(size);
...
label.setText(...);
答案 1 :(得分:0)
使用不同的布局或在JLabel上设置最大尺寸。
答案 2 :(得分:0)
定义max-和preferedsize
时,需要禁用'Horizontal Resizable'