Java 如何使字符串中的一些字母加粗

Java 如何使字符串中的一些字母加粗,java,string,fonts,Java,String,Fonts,我正在寻找一种简单的方法,使一些字母在标签上加粗。 我有这样一个字符串: String r = "y = "+output0+" "+output1+"sin(x) "+output2+"cos(x)"; 和一个标签: Label s = new Label(r); 我需要把“y”和“sin(x),cos(x)”加粗。我试着使用HTML,但没有成功(可能是我用错了)。如果我为该标签设置字体,那么整个标签都是粗体的(包括那些输出),这不是我需要的。您可以在JLabels和其他一些Java组件中

我正在寻找一种简单的方法,使一些字母在标签上加粗。 我有这样一个字符串:

String r = "y = "+output0+" "+output1+"sin(x) "+output2+"cos(x)";
和一个标签:

Label s = new Label(r);

我需要把“y”和“sin(x),cos(x)”加粗。我试着使用HTML,但没有成功(可能是我用错了)。如果我为该标签设置字体,那么整个标签都是粗体的(包括那些输出),这不是我需要的。

您可以在JLabels和其他一些Java组件中使用html样式。如果文本以
开头,以
结尾,JLabel中的html代码将被呈现

这将解决您的问题:

JLabel myLabel = new JLabel(); 
// The following line is required to make this JLabel's text not bold as JLabel's text is bold be default.
myLabel.setFont(myLabel.getFont().deriveFont(Font.PLAIN)); 
myLabel.setText("<html><strong>y</strong> = " + output0 + " " + output1 + "<strong>sin(x)</strong> " + output2 + "<strong>cos(x)</strong></html>");
JLabel myLabel=new JLabel();
//由于JLabel的文本默认为粗体,因此需要使用以下行使此JLabel的文本不粗体。
myLabel.setFont(myLabel.getFont().deriveFont(Font.PLAIN));
myLabel.setText(“y=”+output0+“+output1+”sin(x)“+output2+”cos(x)”;
尝试使用HTML(字符串必须以
开头,以
结尾):

新Jlabel(“普通文本。此为粗体。”)

解释<代码>告诉Java呈现HTML(超文本标记语言),并告诉HTML里面的文本非常重要,通常用粗体表示。

我用的是Label而不是JLabel,现在它工作得很好,非常感谢。你不应该在更有意义的时候使用标记。没问题@Jardao。如果你对我的答案感到满意,并且它对你有效,你能接受这个答案吗?@DermotBlair,不客气,我会给你一个+1,现在你包括在内,先生,你应该得到一枚奖牌。非常感谢。
没有告诉HTML做任何事情。它是一个语义标记,表示“这非常重要”,渲染器可以用它做任何事情;几乎总是加粗,但如果他们愿意,他们可以将其颠倒。正如我所解释的,这是一种挑衅,但与任何其他html标记一样,如果
可以工作,那么最好使用
new Jlabel("<html>Normal text. <strong>This is bold.</strong></html>")