java - Swing:旋转风格化文本?

标签 java swing text

我有一个渲染器,用于在 Graphics2D 上下文上绘制一组复杂的内容,包括使用变换和 Graphics2D.drawString() 旋转的文本。

现在我想看看如何绘制风格化文本,看起来这将是一个泥潭,除了 JLabel 类本身可以很好地处理这个问题(如果您使用 HTML,例如:

)
<html>a<sup>2</sup> + b<sup>2</sup> = c<sup>2</sup></html>

以下哪一个是更简单的方法,我该如何开始沿着这条路走下去?

  1. 使用 JLabel 将文本渲染到我的 Graphics2D 上下文中,通过使用 JLabel 等组件进行渲染来模拟 JTable 使用渲染器的方式。 (我尝试这样做,但我似乎无法让它工作;不确定要调用什么方法——paint()或paintComponents()?——并且不确定它是否适用于旋转图形变换)

  2. 解析 HTML 或其他一些简化的格式化语言(例如 MATLAB 用于图形的 TeX 子集)并继续使用 drawString(),但自行处理格式化。

最佳答案

在我看来,最好的选择是执行#1,使用 JLabel 作为渲染器。事实上,我不久前确实确认过,你可以让标准的 Swing 组件旋转(显示它很容易 - 事件更棘手)

关于java - Swing:旋转风格化文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10453753/

相关文章:

java - 如何对与 Thread.interrupt 一起使用的代码进行可重复的单元测试?

java - 如何从现有代码生成表单文件?

java - "Cannot instantiate the Type Main"

c - 在 C 中读取每行有 2 个值的文本文件

python - python可以格式化它发送的电子邮件吗?

java - 以前选择的 JTable 单元格在按键时触发编辑器,即使明确取消选择也是如此

java - 如何为我的 Java 项目实现基本数据类型

java - 为什么面板不显示?

html - HTML 或 CSS 中的别名文本?

java - "Unable to locate element"从表中读取数据时出错,再现率为 3/10