所以我有这种情况:
我有一个显示大量字符串的JList。
但是,这些字符串很长,而JList却很窄。表示字符串不适合。
我想要做的是使每个条目具有两行,如下所示:
|Word word word |
|word word wor...|
它将对第一行进行自动换行,然后通过切割字符串的其余部分并将三个点平移到剩下的最大空间来完成第二行。
我做什么并不重要,重要的是我必须使用FontMetrics来衡量所有这些东西,这样我才能使其正常工作。这就是问题所在。
在执行整个
getListCellRendererComponent(...)
方法之前,该组件将不会被绘制,因此将没有图形,因此将无法进行字体测量。我该如何解决?
附言我需要将JLabel用于视觉效果。
最佳答案
该组件将不会被绘画,因此没有图形,因此无法进行字体测量。
您不需要图形即可使用FontMetrics。
请参见用于JTable的Left Dot Renderer,但是对于列表渲染器,这些概念也应该相同。