在JOptionsPane中使用HTML标记

时间:2015-10-05 18:07:54

标签: java html swing joptionpane

我今天的问题很简单。我试图在我的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文本中的一行上。我想要&#34; 1&#34;和&#34; 2&#34;变得更大我还希望所有文本都是白色,文本背景为黑色。

我可以添加黑色背景并获得&#34; 1&#34;或&#34; 2&#34;白色,但我似乎无法改变&#34;批次&#34;文本。请让我知道为什么我似乎无法改变&#34;批次&#34;使用上面的代码和我可以做些什么来修复它。提前谢谢!

2 个答案:

答案 0 :(得分:3)

Font是一个已弃用的标记,并未广泛采用,因此可能无效。您可以尝试在这样的范围内内联CSS:

"<span style='font-size:6; color:white'>"+ofFiveDisplay+"</span>

答案 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部分放在变量中,因此您不必每次都重复代码。希望它有所帮助,你可以按照我上面留下的链接,在你的下一个问题和答案中应用这个建议,这样它们就会更好,更有价值。

这是输出:

enter image description here

修改

在OP comment

之后
  

当我查看CSS指南时,他们有点混乱

这是&#34; guide&#34;其中介绍了如何在Java swing应用程序中使用HTML5CSS甚至javascript。另一个reference到同一主题。