在 JOptionPane 中使用 HTML 标签
Using HTML tags in JOptionsPane
我今天的问题很简单。我试图在我的 Java 代码中使用 HTML 标签,特别是在 JOptionsPane 中。到目前为止,我几乎所有的事情都完美无缺。我知道我可能可以使用 CSS 完成同样的事情,但现在我只是尽可能地尝试使用标签来完成。这是给我带来麻烦的具体代码行:
"<br><body bgcolor=black><table border=1><font size=4 color=white>batch<font size=6 color=white>1</font> of <font size=6 color=white>"+ofFiveDisplay+"</font></table></body>"
最终的结果应该是文字Batch 1 of 2
。 (这两个是从一个变量中拉出来的)显示在JOptionsPane
文本的单行中。我希望“1”和“2”更大。我还希望所有的文字都是白色的,文字的背景是黑色的。
我可以添加黑色背景并将“1”或“2”变成白色,但我似乎无法更改 "batch" 文本。请告诉我为什么我似乎无法使用上面的代码更改 "batch" 文本,以及我可以做些什么来修复它。提前致谢!
Font 是一个已弃用的标签,未被广泛采用,因此它可能无法正常工作。您能否尝试在这样的范围内内联 CSS:
"<span style='font-size:6; color:white'>"+ofFiveDisplay+"</span>
首先,当您需要帮助时 post 和 MCVE,这样我们就可以复制粘贴它并能够更快更好地帮助您。
您使用的 font
标签在 HTML5
上是 deprecated
要使用字体大小等,最好的方法是在 <html>
标签内使用 CSS,如下所示:
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class ShowMessageDialogExample {
public static void main(String[] args) {
JFrame frame = new JFrame("JOptionPane showMessageDialog example");
String css = "<span style='font-size: 10; color: white; background-color: black'>";
String batchCss = "<span style='font-size: 20;'>";
String endSpanCss = "</span>";
JOptionPane.showMessageDialog(frame, "<html>" + css + batchCss + " 1 " + endSpanCss + "of" + batchCss + " 2 " + endSpanCss + endSpanCss + "</html>");
System.exit(0);
}
}
我将 CSS 部分放在一个变量中,这样您就不必每次都重复代码。希望它对您有所帮助,您可以按照我在上面留下的 link 并将此建议应用到您的下一个问题和答案中,这样它们会更好,更有价值。
这是输出:
编辑
OP 之后
When I looked at the CSS guides they were a bit confusing
这是同一主题的“guide" which describes how to use HTML5
, CSS
and even javascript
on a Java swing application. And another reference。
我今天的问题很简单。我试图在我的 Java 代码中使用 HTML 标签,特别是在 JOptionsPane 中。到目前为止,我几乎所有的事情都完美无缺。我知道我可能可以使用 CSS 完成同样的事情,但现在我只是尽可能地尝试使用标签来完成。这是给我带来麻烦的具体代码行:
"<br><body bgcolor=black><table border=1><font size=4 color=white>batch<font size=6 color=white>1</font> of <font size=6 color=white>"+ofFiveDisplay+"</font></table></body>"
最终的结果应该是文字Batch 1 of 2
。 (这两个是从一个变量中拉出来的)显示在JOptionsPane
文本的单行中。我希望“1”和“2”更大。我还希望所有的文字都是白色的,文字的背景是黑色的。
我可以添加黑色背景并将“1”或“2”变成白色,但我似乎无法更改 "batch" 文本。请告诉我为什么我似乎无法使用上面的代码更改 "batch" 文本,以及我可以做些什么来修复它。提前致谢!
Font 是一个已弃用的标签,未被广泛采用,因此它可能无法正常工作。您能否尝试在这样的范围内内联 CSS:
"<span style='font-size:6; color:white'>"+ofFiveDisplay+"</span>
首先,当您需要帮助时 post 和 MCVE,这样我们就可以复制粘贴它并能够更快更好地帮助您。
您使用的 font
标签在 HTML5
上是 deprecated
要使用字体大小等,最好的方法是在 <html>
标签内使用 CSS,如下所示:
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class ShowMessageDialogExample {
public static void main(String[] args) {
JFrame frame = new JFrame("JOptionPane showMessageDialog example");
String css = "<span style='font-size: 10; color: white; background-color: black'>";
String batchCss = "<span style='font-size: 20;'>";
String endSpanCss = "</span>";
JOptionPane.showMessageDialog(frame, "<html>" + css + batchCss + " 1 " + endSpanCss + "of" + batchCss + " 2 " + endSpanCss + endSpanCss + "</html>");
System.exit(0);
}
}
我将 CSS 部分放在一个变量中,这样您就不必每次都重复代码。希望它对您有所帮助,您可以按照我在上面留下的 link 并将此建议应用到您的下一个问题和答案中,这样它们会更好,更有价值。
这是输出:
编辑
OP 之后
When I looked at the CSS guides they were a bit confusing
这是同一主题的“guide" which describes how to use HTML5
, CSS
and even javascript
on a Java swing application. And another reference。