【问题标题】:why is html in java not working?为什么java中的html不起作用?
【发布时间】:2014-05-25 14:54:22
【问题描述】:

当我使用此代码时,它不起作用;文本不会变为粗体。为什么?

    label1 = new JLabel();
    label1.setText("Welcome, <html><strong>Hussein</strong></html>.");

【问题讨论】:

标签: java html


【解决方案1】:

您的 HTML 语法不好,因为您的 String 不是以 html DOM 根开头的。

尝试以下几行:

label1.setText("<html>Welcome <strong>Hussein</strong>.</html>");

查找教程here

【讨论】:

  • 也许还要加一个body标签?
  • @DejaVu 不。没必要。
  • @DejaVu "要指定组件的文本具有 HTML 格式,只需将 标记放在文本的开头,然后在其余部分使用任何有效的 HTML。" docs.oracle.com/javase/tutorial/uiswing/components/html.html
  • @DejaVu 这是 1) 不是脚本 2) 符合 API,这意味着 3) Swing 组件中的 html 不必完全符合 w3c 标准。
【解决方案2】:

试试这个:

JLabel label = new JLabel("<html><yourTagHere><yourOtherTagHere>this is your text</yourOtherTagHere></yourTagHere></html>");

【讨论】:

    【解决方案3】:

    你忘了加body标签,试试这个:

    label1 = new JLabel();
        label1.setText("<html><body>Welcome ,<strong> Hussein</strong></body></html>");
    

    【讨论】:

    • 我已经编辑过了,如果我们输入混合类型字符串+html标签的文本,它不会接受。它会在这里正常工作。
    【解决方案4】:

    为什么要混合 html 和 java。标签在html中。这就是你在java中的做法

    label = new JLabel("A label");
    label.setFont(new Font("Serif", Font.BOLD, 14));
    

    【讨论】:

    • 我只希望一部分加粗,而不是全部。我知道这一点,我确实使用它。
    • 那么,你应该在你的问题中提到,清楚地说你只想要部分文本
    • @Stunner 你的回答是说你不能在 JLabel 组件中使用 html(甚至在 Java 中也不能),这是不正确的。
    猜你喜欢
    • 2012-09-04
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多