gpt4 book ai didi

java - JLabel 在 3 行中居中内容

转载 作者:太空狗 更新时间:2023-10-29 16:45:58 25 4
gpt4 key购买 nike

我正在尝试将 JLabel 中的内容居中,并将前三个字符串添加到三个不同的行中。我试着用 CSS 来做,但是 JLabel 没有按照我想要的方式格式化它。它目前的样子:
enter image description here


但我希望它看起来像这样:

================================
|| Eleking02 vs. Nils ||
||
|| 。 7 - 3 .
||
||。 Gewonnen! .



pane.setText("<html><div style=\"color: green; text-align: left;\">" + this.getGewinner()
+ "</div><div style=\"text-align: center; margin-top: -17px;\">"
+ "Vs. </div><div style=\"margin-top: -20px; text-align: right; color: red;\">" + this.getVerlierer()
+ "</div><br/>" + "<font>" + this.getSiegerPunkte() + " - " + this.getVerliererPunkte() + "</font><br/>"
+ "<font>Gewonnen!</font></html>");

也许我可以用 gridLayout 实现我想要的?

最佳答案

令人惊奇的是,您可以使用 HTML/CSS 在 Java 中设置标签字体的样式。可能有多种方法可以解决这个问题,但如果您想坚持使用 HTML/CSS,这里有一种方法似乎可行:

pane.setText("<html>"
+ "<div style=\"text-align: center;\">"
+ "<span style=\"color: green; text-align: left;\">" + "Eleking02 " + "</span>"
+ "<span style=\"text-align: center; margin-top: -17px;\">" + "Vs. </span> "
+ "<span style=\"margin-top: -20px; text-align: right; color: red;\">" + " Nils" + "</span>"
+ "</div>"
+ "<br/>"
+ "<div style=\"text-align: center;\">"
+ "<font>" + "7" + " - " + "3" + "</font>"
+ "</div>"
+ "<br/>"
+ "<div style=\"text-align: center;\">"
+ "<font>Gewonnen!</font></html>"
+ "</div>"
+ "</html>");

Image of JLabel with formatting from CSS/HTML

HTML 中的 Div 元素是 block 元素,这意味着它们会在每个 Div 之后自动创建一个新行。您有多个 Div,这会阻止您想要的文本全部在一行中。 span 元素做同样的事情,除了它不在元素之后创建新行。为了使文本居中,我只是将我想要居中的内容放在 Div 中并应用了 text-align: center。这似乎可以解决问题。

关于java - JLabel 在 3 行中居中内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29897071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com