我有一个渲染器,我一直用它来绘制一组复杂的东西到Graphics2D上下文,包括使用变换和Graphics2D.drawString()
的旋转文本。
现在我想看看绘制风格化文本需要什么,它看起来像是一个泥潭,除了如果你使用HTML,JLabel类本身可以很好地处理它,例如:
<html>a<sup>2</sup> + b<sup>2</sup> = c<sup>2</sup></html>
以下哪项是一种更简单的方法,如何开始沿着这条路走下去?
使用JLabel将文本渲染到我的Graphics2D上下文中,通过让像JLabel这样的组件进行渲染来模拟JTable使用渲染器的方式。 (我尝试过,但我似乎无法让它工作;不确定要调用什么方法 - paint()或paintComponents()? - 并且不确定它是否适用于旋转图形变换)
解析HTML或其他一些简化的格式化语言(如MATLAB用于图形的TeX子集)并继续使用drawString(),但我自己处理格式。
答案 0 :(得分:2)
在我看来,你最好的选择是做#1,使用你的JLabel作为渲染器。我确实做了一段时间确认你可以让标准的摆动组件旋转(显示它非常简单 - 事件比较棘手)
答案 1 :(得分:2)
我使用Greg Hinkle's VerticalLabelUI效果很好。
我创建了一个名为VerticalLabel的JLabel子类,它自动在同一个包中获取VerticalLabelUI。甚至可以这样使用JFormDesigner GUI构建器!
答案 2 :(得分:2)
在您的HTML中使用此example似乎有效:
答案 3 :(得分:1)