我有一个JLabel
需要显示一些 html 格式的文本。但是,我想将其限制为 4 行(如果是,请提供一个按钮来查看所有内容)。
到目前为止,我已经尝试手动或通过布局管理器设置最大尺寸。但是,这两种解决方案都可能导致显示部分行。
编辑:要添加更多细节,即使在正确考虑换行、调整组件大小和更改字体大小的情况下,我也需要强制使用 4 行。我已经考虑通过用一个合适的新标签替换标签来处理调整大小/字体大小的变化。
JLabel
似乎可以很好地处理不完整的标签,所以我可能会对输入字符串进行二进制搜索,找出哪个字符会导致它超过 4 行限制(使用FontMetric
来确定 4 行将有多少像素),然后替换现有标签与新标签。这种方法的一大缺点是,每次用户调整面板大小或更改字体时,我都需要运行计算(感觉就像一个肮脏的黑客攻击)。