最近在用Swing做Windows的窗口程序,在使用JLabel时发现使用\n没办法换行,于是乎借助百度一下弄懂了JLabel是如何实现换行的。
先可以看一下使用\n的效果
JLabel label=new JLabel("数据版本\nv1.0.0");
运行测试
很明显,换行失败了。
由此得出:\n对JLabel中的字符串无法进行换行操作,同样的\r\n也无效。
于是百度一下得出答案:使用HTML标签
JLabel label=new JLabel("<html><body><p align=\"center\">数据版本<br/>v1.0.0</p></body></html>");
再次运行
成功换行
总结:
Swing中的JLabel是支持基本的HTML代码的,
同样的JTextPane、JEditorPane也支持简单的HTML代码。
JLabel中换行是需要HTML的<br>标签进行换行的,不能用\n直接换行。