Java JLabel/JButton:在某些系统上我得到“...”(省略号),而在某些系统上我没有。我怎样才能强制禁用省略号?

2024-01-31

在大多数系统上,我的 JLabel 中的内容显示得很好。它的驻留方式也应始终足够大以显示其内容文本,因为我基本上这样做:

label.setText(text);
label.setFont(new Font(fontName, 0, 12));
int width = label.getFontMetrics(label.getFont()).stringWidth(text);
int height = 21; // this should always be enough
label.setBounds(new Rectangle(x, y, width, height));

但在某些系统上(不是我自己的系统,所以我无法真正轻松地调试它),它会剪切文本并在末尾显示“...”。

你可以看到完整的代码here http://www.az2000.de/viewvc/Ilias/Lehreinheiten/Abbildungen/Code/applets/Abbildungen_Bijektiv_X3/Applet.java?view=markup你可以看到这个例子在这里(Abbildungen_Bijektiv_X3) http://www.matha.rwth-aachen.de/~ilias/jars/Abbildungen/Abbildungen.html.

我也有一些类似的 JButton 案例。

我怎样才能强制 Swing 不这样做呢? (即使它认为该组件太小。)

Swing 究竟在哪里处理这个问题?我浏览了代码JButton和一些相关的类,但我没有真正找到剪切文本并添加省略号的代码。


应该不需要设置标签的边界。

这是布局管理器的工作。学会使用布局管理器,你就不会遇到这个问题了。

Edit:

布局管理器使用:

label.setSize( label.getPreferredSize() );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java JLabel/JButton:在某些系统上我得到“...”(省略号),而在某些系统上我没有。我怎样才能强制禁用省略号? 的相关文章

随机推荐