【发布时间】:2019-05-10 18:46:13
【问题描述】:
我有一个 JLabel,当 JFrame 窗口展开时,字体大小会自动改变。 JLabel 中的文本既可以缩写也可以全文输入,如下所示:
因为我在 Swing (frame.getContentPane().setLayout(null)) 中使用 Eclipse 的“AbsoluteLayout”,所以 JLabels 不会自动调整到文本的大小并且是固定值。请注意,随着窗口大小的变化,我确实会更改这些固定值。我已经有一个算法。
我不想做一个大的计算来确定窗口是否足够大以显示未缩写的文本,我想知道是否有办法确定我的文本是否会像这样:
如果我知道文本会被截断(由于小 JLabel 中的文本很长),我可以缩写文本,否则完整显示。
在使用 AbsoluteLayout 的同时,有什么方法可以完成我的要求吗?
注意:我必须使用 AbsoluteLayout,所以即使它通常被认为是不好的做法,也不要费心评论它。
【问题讨论】:
-
并且避免
null-layout,您甚至可以更改Netbeans 中的布局管理器,因此避免使用它。 It's evil 和 frowned uppon,我敢打赌,如果我在我的计算机上运行你的代码,我会得到类似 this 的东西,你不希望这种情况发生
标签: java swing text jframe jlabel