java - JLabel 可以有多小?

标签 java swing

我有一个 JLabel,我需要将其绘制到屏幕外,并对 Graphics 对象应用一些变换。

我正在尝试使 JLabel 尽可能小,并且根据其文本内容不使用省略号。

我想做的是:

setBounds(0, 0, label.getMinimumSize().width, label.getMinimumSize().height);

有时,这会产生省略号,有时会产生省略号。它实际上取决于所应用的变换(通常是动画中的任意缩放)。

我是否遗漏了一些我应该考虑的“最小尺寸”的明显内容,我是否遇到了一些向下舍入的舍入错误等?

请为我指明正确的方向。

最佳答案

label.getMinimumSize() 由 UI 委托(delegate)计算,更多地与布局及其镶边而不是其内容有关。也许您可以尝试根据文本计算尺寸应该是多少?

类似...

JLabel label = new JLabel("xx");
int minWidth = ((int) (label.getFontMetrics(label.getFont()).getStringBounds(label.getText(),label.getGraphics()).getWidth()) + label.getInsets().left + label.getInsets().right);

高度也类似。

关于java - JLabel 可以有多小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1171686/

相关文章:

java - 添加额外反斜杠的 JSON 对象

java - Netty 性能

java - 将数据从一个非常大的文本文件导入到 JTable

java - 如何在 Java 中暂停 Swing?

java - 在 Swing 中创建用于表单输入的 Java GUI

Java 显示一个数的质因数分解

java - 如何在 JPanel 中拉伸(stretch) JPanel?

java - 为一个线程设置名称和线程组有什么好处?

ios - 应用程序不断要求输入密码以使用 'Local Items' 钥匙串(keychain)

java - .getScaledInstance 使用动画 GIF