gpt4 book ai didi

Java swing 风格的字体与 html 解析?

转载 作者:行者123 更新时间:2023-11-29 05:19:56 26 4
gpt4 key购买 nike

我正在开发一个带有大量文本字段和自定义 JComponent 的 Java 应用程序。到目前为止,我已将所有文本放入 JLabel 中,并使用 HTML 设置样式(使用 <font><style> )。这也可以很好地处理包装。

但是,我想使用我的自定义 JComponent 之一将文本放在自定义坐标处。当我这样做时(使用 graphics.drawString(text,x,y) ),HTML 代码似乎没有效果,所以我尝试使用 g.setFont(new Font("Courier New", Font.PLAIN, 14)); g.setColor(new Color(0x999999)); 来设置样式。这行得通,但文本看起来明显不同,即使字体/颜色/样式应该相同。在我下面发布的图片中可能很难看到,但 HTML 样式的代码看起来更流畅,也更粗(不,它不是粗体)。 (在此示例中, Swing 文本的大小实际上是 14 而不是 12,但无论哪种方式看起来都一样);

Swing 风格的文本:java font style

html 样式的文本:html

我的问题基本上是,我应该怎么做?我可以通过我的元素并使用 setFont() 重新设置所有 HTML 字符串的样式,但这听起来工作量很大,实际上我更喜欢 HTML 外观。有没有办法:

a) 样式化文本,使其看起来像 HTML 文本,

b) 在自定义 JComponents 中解析/使用 HTML 样式,可能通过扩展 JLabel 并利用它使用的任何内部 API

c) 用我想要的文本绘制一个新的 JLabel 到一组指定的坐标(在 JPanel 等中)

d) 其他选择?

Google 搜索没有显示任何有用信息。请让我知道你在想什么。谢谢。

最佳答案

a) style text so that it looks like the HTML text,

尝试 using anti-aliasing on your custom drawString graphics calls .

b) parse/use HTML styles in custom JComponents, maybe by extending JLabel and leveraging whatever internal API it uses

您可以检查 JCL 的源代码并深入挖掘并重写所有相同的逻辑,以使您的图形绘制逻辑与 HTML 呈现逻辑的工作方式相同......但那太费力了。

c) draw a new JLabel with the text I want to a specified set of coordinates (within a JPanel, etc.)

你可以用 null layout .

d) some other option?

只需使用相同的方法在您的应用程序中选择字体。也许在某处存储对所使用的 Font 对象的静态引用,并在任何地方使用该对象。这意味着不使用字体 html 或 css 属性并且可能扩展 JLabel 以使用抗锯齿。

关于Java swing 风格的字体与 html 解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25189269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com