为什么JLabel没有显示下划线字符?

时间:2011-07-25 17:28:14

标签: java swing jlabel

由于某种原因,JLabel不显示下划线符号。为了实现这种行为,我有什么特别需要做的吗?

在使用Java 1.6.x的Windows,Linux,MacOS中不起作用

2 个答案:

答案 0 :(得分:2)

这是我用来查看这是否有效的代码。尝试在你的机器上运行它。

import java.awt.*;
import javax.swing.*;

public class TestUnderscore 
{
  // Test routine.
  public static void main(String[] args) 
  {
    JFrame frame = new JFrame();
    frame.getContentPane().setBackground(Color.yellow);
    frame.getContentPane().add(new JLabel("Test_Underscore$$"));
    frame.getContentPane().setLayout(new FlowLayout());
    frame.setSize(450, 450);
    frame.setVisible(true);
  }
}

答案 1 :(得分:1)

在Linux上对我不起作用。 JTextArea中突出显示的文本也存在同样的问题。如果第1行和第2行包含下划线并且两者都突出显示,则第1行中的下划线不可见,但第2行中的下划线是。更改突出显示颜色的Alpha值并不能解决问题。

找到修复程序 - 更改字体。当我使用Verdana 12pt时,两者都有效。