带有特定 HTML 标签的多行 Jlabel
我想向我的 Jlabel 添加多行;我在 HTML 的帮助下做到了这一点,但在某些情况下我遇到了问题,情况是我使用特殊的标签属性,如 dir="RTL" 和 ... 。我应该怎么做才能解决这个问题?
如果我使用:jLabel1.setText("
2010/7/21 11:57:47 AM
在
标签显示:
john
2010/7/21 11:57:47 AM
In
但如果我使用:
jLabel1.setText("<html DIR=\"LTR\"><center>John<br>2010/7/21 11:57:47 AM<br>In</center></html>");
标签显示:
<html DIR=\"LTR\"><center>John<br>2010/7/21 11:57:47 AM<br>In</center></html>
I want to add multi line to my Jlabel; I do it with help of HTML, but in some situation I have problem with it, the situation is that I use special tag property like dir="RTL" and ... . What should I do to solve this problem?
If I use:jLabel1.setText("<html><center>John<br>2010/7/21 11:57:47 AM<br>In</center></html>");
The label show :
john
2010/7/21 11:57:47 AM
In
But If I use :
jLabel1.setText("<html DIR=\"LTR\"><center>John<br>2010/7/21 11:57:47 AM<br>In</center></html>");
The label show:
<html DIR=\"LTR\"><center>John<br>2010/7/21 11:57:47 AM<br>In</center></html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
需要 即
,您需要对双引号字符串内的双引号进行转义。您现在正在做的是打印
,中断字符串,然后打印
>
John
2010/7/21 11:上午 57:47
在
。
Needs to be
That is, you need to escape double quotes inside a double quoted string. What you're doing at the moment is printing out
<html DIR=
, breaking the string, then printing><center>John<br>2010/7/21 11:57:47 AM<br>In</center></html>
.如果您的标签文本以
开头,那么它就不是 HTML 标签,而是纯文本标签。原因是
java.swing.plaf.basic.BasicHTML#isHtmlString(String)
非常简单,它的实现所以只能使用
或 < code>,或者有趣的是
或其他四个字母的单词:-)所以在你的情况下,你必须使用
您的文本
。但是,Swing HTML 子系统不支持dir
属性。您必须调用才能更改标签的组件方向。
If you start your label text with
<html dir="ltr">
, it will not be an HTML label but a plain text label. The reason is thatjava.swing.plaf.basic.BasicHTML#isHtmlString(String)
is very simple, its implementation isso you can only use
<html>
or<HTML>
, or interestingly also<abcd>
or other four-letter words :-)So in your case you would have to use
<html><span dir="ltr">Your text</span></html>
. However, the Swing HTML subsystem does not honor thedir
attribute. You have to callin order to change the component orientation for a label.