在JButton中覆盖文本

时间:2015-05-25 14:16:46

标签: java swing text fonts jbutton

我知道如果我想在JButton下划线,我必须做这样的事情:

JButton myButton=new JButton("Test");
Font font = myButton.getFont();
Map attributes = font.getAttributes();
attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
myButton.setFont(font.deriveFont(attributes));

并且,如果我要覆盖文本?我该怎么办?有谁可以帮助我?

3 个答案:

答案 0 :(得分:1)

此处不需要Font课程。您可以使用HTML directly并添加<u><strike>代码:

myButton = new JButton("<html><strike><u>Test</u></strike></html>");

答案 1 :(得分:1)

只是添加@maroun的回答(我不允许发表评论)。尝试直接使用HTML。

myButton = new JButton ("<html><font style=\"text-decoration: overline;\">  Overline text</font></html>");

答案 2 :(得分:0)

您可以创建CompoundBorder

JButton button = new JButton("Using Compound Border");
Border lineBorder = BorderFactory.createMatteBorder(2, 0, 0, 0, Color.BLACK);
CompoundBorder border = new CompoundBorder(button.getBorder(), lineBorder);
button.setBorder( border );