Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java I';I’我试图在JLabel中的文本下划线,但什么都不起作用_Java_Text_Jpanel_Jlabel_Underline - Fatal编程技术网

Java I';I’我试图在JLabel中的文本下划线,但什么都不起作用

Java I';I’我试图在JLabel中的文本下划线,但什么都不起作用,java,text,jpanel,jlabel,underline,Java,Text,Jpanel,Jlabel,Underline,我还有另一段代码,当用户在JTextField中输入文本并按下updatejbutton时,它会显示在JFrame中。这适用于除下划线以外的所有样式(斜体和粗体)。我到处都找过了,在stackoverflow上发现了一块代码,但这也没用。如果您想知道,这是一行不起作用的代码: JLabel topCap = new JLabel (" Top Caption"); txtTop = new JTextField("Enter top Caption here"); topCaption = n

我还有另一段代码,当用户在
JTextField
中输入文本并按下updatejbutton时,它会显示在JFrame中。这适用于除下划线以外的所有样式(斜体和粗体)。我到处都找过了,在stackoverflow上发现了一块代码,但这也没用。如果您想知道,这是一行不起作用的代码:

JLabel topCap = new JLabel ("  Top Caption");
txtTop = new JTextField("Enter top Caption here");
topCaption = new JLabel("", JLabel.CENTER);
viewerWindow.add(topCaption, BorderLayout.NORTH);
JLabel bottomCap = new JLabel ("  Bottom Caption");
txtBottom = new JTextField("Enter Bottom Caption here");
bottomCaption = new JLabel("",JLabel.CENTER);
viewerWindow.add(bottomCaption,BorderLayout.SOUTH);
我完全糊涂了,有人知道我该怎么办吗? 或者至少我应该调查哪门课?
谢谢

您可以在JLabel中轻松使用HTML。举个例子,你可以这样做

JLabel label = new JLabel("Underlined Label");
Font font = label.getFont();
Map attributes = font.getAttributes();
attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
label.setFont(font.deriveFont(attributes));
JLabel标签=新的JLabel();
label.setText(“带下划线的标签”);

必须从awt导入TextAttribute

JLabel label=new JLabel();
label.setText("<html><u>Underlined Label</u></html>");
您可以使用HTML来加下划线。但是为了比HTML更快地呈现,您应该坚持使用您的方法

java.awt.font.TextAttribute;
JLabel.setText(“带下划线的文本”);

Post a解释什么不是working@Reimeus我一点也不确定什么不起作用。当我使用我放在底部的代码块时,我会收到一条错误消息说“找不到类映射”,但是我去了Java库,在那里也找不到任何类映射。如果我想更改大小和下划线,我会调用setFont方法吗?在这种情况下,我想你可以从中得到一些提示,它在我的情况下不起作用。我正在使用WindowsClassicLookAndFeel。使用默认L&F,它可以工作。所以这是一个错误。我已经导入了它,但仍然没有运气。你能发布准确的错误消息或解释什么没有被执行吗?没有错误消息,只是屏幕上的JLabel根本没有改变。我有一个JRadioButton,按下该按钮时,应将JLabel中的文本更改为带下划线。我正确地连接了ActionListener,因为我已经用其他字体样式(粗体和斜体)对它进行了测试。
JLabel.setText("<HTML><U>Underlined Text</U></HTML>");