java - 判断JLabel文本是否被截断?

标签 java swing text jframe jlabel

我有一个 JLabel,当 JFrame 窗口扩展时,字体大小会自动更改。 JLabel 中的文本可以缩写,也可以输入全文,如下所示:

Small and Large Window Exmaple

因为我使用 Eclipse 的 Swing“AbsoluteLayout”(frame.getContentPane().setLayout(null)),所以 JLabels 不会自动调整为文本大小,并且是固定值。请注意,随着窗口大小的变化,我确实更改了这些固定值。我已经有一个算法。

我不想进行大量计算来确定窗口是否足够大以显示未缩写的文本,而是想知道是否有一种方法可以确定我的文本是否会像这样显示:

Cut off JLabel text

如果我知道文本将被截断(由于小 JLabel 中的长文本),我可以缩写文本,否则完整显示它。

有什么方法可以在仍然使用 AbsoluteLayout 的同时完成我所要求的操作吗?

注意:我有必要使用 AbsoluteLayout,因此不必费心评论它,即使它通常被认为是不好的做法。

最佳答案

If I could know that the text would be cut off (due to long text in a small JLabel), I could abbreviate the text, otherwise display it in full.

比较 getPreferredSize()getSize() 的宽度。

关于java - 判断JLabel文本是否被截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56083275/

相关文章:

VMWare 服务器上的 Java 垃圾收集

java 字符串与数字

java - 使用 java swing 模拟 apk 文件以便在我的桌面上使用它

Java:myComboBoxItemStateChanged 被触发了两次?

java - 切换 Jlabel 和 JPanel 的可见性

java - 查找网格中与给定矩形相交的单元格

java - 在区域设置“en_US”的代码 'user.title' 下找不到消息

css - 仅在 Firefox 中显示的文本元素,在 safari 或 chrome 中不显示

用 Javascript 将缩写替换为等效缩写

python - tkinter Canvas 文本输出