java – 如何在布置文本组件时修改Swing使用的剪辑字符串省略号

默认情况下,Swing使用省略号“…”来表示文本已在JLabel和类似的基于文本的组件中被截断.是否可以更改此行为以使用其他字符串,例如“>”?

通过Swing代码,我在SwingUtilities2中找到了一个名为clipString(…)的方法,该方法似乎将字符串硬编码为“…”.

最佳答案 我不确定你能在Swing中设置它.考虑制作自己的JLabel实现,根据需要截断字符串.

在这里,您可以使用SwingUtilities中的截断函数.您可以从复制粘贴代码开始,这通常是一个良好的开端.

我认为您需要扩展JLabel的paintComponent方法,测量FontMetrics并确定标签是否需要截断.如果它确实将文本设置为截断值.请记住将未截断的值保留在字段中.

点赞