我今天的问题很简单。我试图在我的 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”白色,但我似乎无法更改“批处理”文本。请让我知道为什么我似乎无法使用上面的代码更改“批处理”文本,以及我可以做些什么来修复它。提前致谢!
最佳答案
首先,当您需要帮助时发布 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 部分放在一个变量中,这样您就不必每次都重复代码。希望它对您有所帮助,您可以点击我在上面留下的链接并将此建议应用到您的下一个问题和答案中,这样它们会更好、更有值(value)。
这是输出:
编辑
OP 之后 comment
When I looked at the CSS guides they were a bit confusing
这里有一个“guide”描述了如何使用HTML5
, CSS
甚至javascript
在 Java swing 应用程序上。还有一个reference到同一主题。
关于java - 在 JOptionPane 中使用 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32955057/