java在Label里显示文本怎样实现换行?

yaganblw 2011-02-09 09:01:29
看到有人说用HTML语法,这个是可以的,
但如果我把信息都放在StringBuffer中,又该怎样处理呢?
有两个窗体,一窗体是用户的简单信息录入界面,二窗体就是在一个标签中显示这些信息,很简单的一个程序。
发现用"/n"是不行的,那怎样实现换行呢?在Label中。
手机发帖,问题不能全面展示,谢谢帮忙,也希望你的方法我能看懂。
...全文
3361 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Inhibitory 2011-02-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yaganblw 的回复:]

其实我想实现的最好的效果是在已定大小的标签内,写满一行自动换行。
用append方法加入HTML是可行的,谢过。
二楼好像没明白我的意思哦。
[/Quote]
如果真想自动换行,需要你去自己实现一个JLabel的子类,在paintComponent方法中使用FontMetrics动态的计算字符串的长度,决定在哪个字符处自动换,然后绘制字符串。
yaganblw 2011-02-09
  • 打赏
  • 举报
回复
其实我想实现的最好的效果是在已定大小的标签内,写满一行自动换行。 用append方法加入HTML是可行的,谢过。 二楼好像没明白我的意思哦。
zqfddqr 2011-02-09
  • 打赏
  • 举报
回复
ps:

lable

swing可以换行的 awt不行

也就是得用这个jLable...
zqfddqr 2011-02-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 inhibitory 的回复:]
html中换行使用"<br/>"

如 String str = "<html>xxxx<br/>yyy</html>";
[/Quote]

同意一楼
   StringBuffer sb = null;
sb = new StringBuffer("<html>xxxx<br/>yyy</html>");
jLabel1.setText(sb.toString());
uastation 2011-02-09
  • 打赏
  • 举报
回复
用"\n"可以哦;
实例如下:

public static void main(String[] args){
StringBuffer sb = null;
sb = new StringBuffer("hpjianhua\nflower");
System.out.println(sb);
}

输出如下:
hpjianhua
flower
Inhibitory 2011-02-09
  • 打赏
  • 举报
回复
html中换行使用"<br/>"

如 String str = "<html>xxxx<br/>yyy</html>";

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧