java - 在 JOptionPane 中使用 HTML 标签

标签 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 的文本中的一行中。我希望“1”和“2”更大。我还希望所有文本都是白色的,文本的背景是黑色的。

我可以添加黑色背景并获得“1”或“2”白色,但我似乎无法更改“批处理”文本。请让我知道为什么我似乎无法使用上面的代码更改“批处理”文本,以及我可以做些什么来修复它。提前致谢!

最佳答案

首先,当您需要帮助时发布 MCVE这样我们就可以复制粘贴它并能够更快更好地帮助您。

您使用的是 fontHTML5 上的标签是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)。

这是输出:

enter image description here


编辑

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/

相关文章:

java - Android 后退按钮无法正常使用

java - 如何将 JButton 放入 JComboBox 中

java - JFrame 不等待 JOptionPane 执行

Java JLabel HTML 在字体与系统字体冲突时显示乱码

java - 如何在服务器端 Java 中使用 D3.js 或 Raphaël 等 JavaScript 图表库

java - Maven 导致互联网连接崩溃

java - Android Java -- 在Android平台反序列化一个文件

html - 响应式两列布局

javascript - HTML 单选按钮 : hide bullets

javascript - contentEditable div 显示 : none/block focus problem on Chrome