Java - 如何将字体/添加边框更改为仅JLabel的一部分

时间:2017-03-16 16:55:37

标签: java html swing jframe jlabel

在这种情况下,die1Integer,是从其他地方的计算得出的。我希望die1的值在视觉上与边框和/或更大的文本/不同的颜色区分开来。有没有办法做到这一点,不涉及2个单独的JLabels?谢谢。

firstJLabel.setText("Die 1: " + die1);

1 个答案:

答案 0 :(得分:2)

  

有没有办法做到这一点,不涉及2个单独的JLabel?

您可以在标签中使用HTML:

firstJLabel.setText("<html><font color=\"red\">Die 1: </font>" + die1 + "</html>");

或者您可以使用JTextPane并使其看起来像标签。它支持属性:

JTextPane textPane = new JTextPane();
textPane.setBorder( null );
textPane.setOpaque( false );

SimpleAttributeSet green = new SimpleAttributeSet();
StyleConstants.setForeground(green, Color.GREEN);

//  Add some text

try
{
    StyledDocument doc = textPane.getStyledDocument();
    doc.insertString(0, die1, null);
    doc.insertString(0, "Die 1: ", green);
}
catch(Exception) {}