如何使文本的一部分粗体

时间:2013-06-15 13:40:34

标签: java javafx-2 javafx javafx-8

您能告诉我如何才能使文本的一部分变为粗体:

TextArea dataPane = new TextArea();        
        dataPane.appendText("Product Version: " + "1.0");
        dataPane.appendText("\nJava: " + "7");
        dataPane.appendText("\nRuntime: " + "7");
        dataPane.appendText("\nSystem: " + "Linux");
        dataPane.appendText("\nUser directory: " + "/home/dir");

我想只将这些字符串加粗:Product Version, Java, Runtime, System, User directory?最简单的方法是什么?

更新

我也测试了这段代码:

TextArea dataPane = new TextArea();

    dataPane.setPrefRowCount(10);
    Text wd = new Text("Version");
    wd.setFont(Font.font ("Verdana", FontWeight.BOLD, 20));

    dataPane.appendText(wd + "1.0");
    dataPane.appendText("\nJava: " + "7");
    dataPane.appendText("\nRuntime: " + "7");
    dataPane.appendText("\nSystem: " + "Linux");
    dataPane.appendText("\nUser directory: " + "/home/dir");

我明白了:Text@149e84241.0

文字格式不正确。

1 个答案:

答案 0 :(得分:2)

您可以使用内容类型设置为html而不是文本区域的编辑器窗格。我非常快速地将编辑器窗格放入临时项目中,并使用了默认的变量名称和对象属性。以下是我如何制作我认为你正在寻找的东西:

jEditorPane1.setContentType("text/html"); //by default this is text/plain
//use margin-top and margin-bottom to prevent gaps between paragraphs
//or actually customize them to create space if you desire so
jEditorPane1.setText("<p style='margin-top:0pt;'><b>Product Version:</b> 1.0</p>" + 
    "<p style='margin-top:0pt; margin-bottom:0pt;'><b>Java:</b> 7</p>" +
    "<p style='margin-top:0pt; margin-bottom:0pt;'><b>Runtime:</b> 7</p>" +
    "<p style='margin-top:0pt; margin-bottom:0pt;'><b>System:</b> Linux</p>" +
    "<p style='margin-top:0pt; margin-bottom:0pt;'><b>User directory:</b> /home/dir</p>");