【问题标题】:Java JTextPane Change Font of Selected TextJava JTextPane 更改所选文本的字体
【发布时间】:2011-08-17 19:33:47
【问题描述】:

我有一个 JTextPane(或 JEditorPane,我可以使用任何一个都没有问题)。如何将选定区域的字体更改为特定字体?

textpane.getSelectedText().setFont() 不起作用。 (即使使用字体系列)

【问题讨论】:

    标签: java jtextpane


    【解决方案1】:

    JTextPane的字体只能整体改变,不做富文本。

    在 JEditorPane 下方有一个 Document(显然也是 JTextPane),您可以通过 getDocument() 获取它。如果可以的话,您想将其转换为 StyledDocument,然后您可以对给定的一系列字符执行 setCharacterAttributes 之类的操作。

    http://java.sun.com/docs/books/tutorial/uiswing/components/editorpane.html 的 Java 教程中有一些(希望是)有用的示例。

    【讨论】:

    • +1,用于参考教程。我希望更多的人会这样做,因为它回答了当前的问题并为未来的问题提供了资源。
    • 然后让我们破产? (笑)但我同意,教程被低估了,它教会了我很多我知道的东西。唉,有些部分似乎有点仓促:RMI 教程今天仍然让我感到困惑。感谢您的投票!
    • (公平地说,95% 的教程都很棒!)
    • javax.swing.text.StyleConstants.setFontFamily 仅接受“字符串”作为“字体系列”的输入。无论如何我们可以使用自定义字体吗?
    【解决方案2】:

    您可以使用 JTextPane 来做到这一点。使用 JTextArea 是不可能做到这一点的。 .这是一个关于如何使用 JTextPane 的最佳示例。

    示例:http://download.oracle.com/javase/tutorial/uiswing/components/editorpane.html

    代码:http://download.oracle.com/javase/tutorial/uiswing/examples/components/TextSamplerDemoProject/src/components/TextSamplerDemo.java

    【讨论】:

    • 欢迎来到 Stack Overflow!虽然这理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
    猜你喜欢
    • 2016-12-16
    • 2012-03-09
    • 2018-09-25
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    相关资源
    最近更新 更多