如何在Java秋千的Jlabel中设置线间距/高度?
题
我有以下Jlabel代码:
JLabel someJLabel = new JLabel("<html>first line<br>second line</html>");
someJLabel.setFont(new Font("Arial", Font.PLAIN, 16));
我想做的是能够控制两条线之间的线高/间距。
PS:我还考虑使用段落而不是断路线,但这是同一回事。而且我不知道您是否可以在不使用CSS的情况下在HTML标签中执行此操作(您不能在Java Swing中的Jlabel中使用HTML代码中的CSS)。
解决方案
这应该起作用,但事实并非如此。 color: green
虽然有效。
content.add(new JLabel("<html><p style=\"line-height: 150%;\">hi<br>world</p></html>"));
我猜线高度不起作用。如果您使用CSS,那就是这样做的,所以也许您不能那样做。 这是一个不错的工具 我发现您可以用它来测试您的HTML是否会迅速工作。
其他提示
查看htmleditorkit的setstylesheet(...)方法。我以前从未使用过它,但我相信它提供了一些基本的支持。
否则,您可以使用JTEXTPANE来控制线间距。我认为您会使用:
StyleConstants.setLineSpacing(...);
然后,您可以更改前景/背景等,以使文本窗格看起来像标签。
嗯.. Jlabel中的CSS似乎对我有用,如果坚持支持的属性。尝试 padding
(或者 margin
) 和 font-size
:
someJLabel = new JLabel("<html><body><p style=\"padding:10; font-size:30\">First line</p><p style=\"padding:10; font-size:20\">Second line</p></body></html>");
由于Java的支持 u003Cp> 标签和CSS 利润 属性您可以使用下一个解决方案:
new JLabel("<html>first line<p style='margin-top:-5'>second line");
PS现在不需要关闭HTML标签。
您可以尝试使用两个标签,并使用LayoutManager设置两者之间的距离以及Whitespace。我自己喜欢GridBoxlayout。
编辑:GridBaglayout。哎呀!
设置空边框有帮助吗?
label.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
方法语法 BorderFactory.CreateementBorder(int top,int左,int,int botton,int右下)