当前位置: 首页 > 知识库问答 >
问题:

Java JLabel,为什么“/*test*/”导致JLabel为空?

宓昂雄
2023-03-14

我有一个jlabel我将像这样填充它

String descriptionText = StringEscapeUtils.escapeHtml(rule.getDescription());
descriptionText = descriptionText.replaceAll("\n", "<br>");
descriptionLbl.setText(String.format("<html>%s</html>", descriptionText));

在这种情况下,如果rule.getDescription()返回类似“/*test*/”的内容,那么最终结果是一个空的JLabel?这是为什么?我以为StringEscapeUtils#escapeHTML会捕获所有转义字符。

共有1个答案

澹台星光
2023-03-14

下面是一个较小的测试应用程序,说明了问题所在:

import javax.swing.JFrame;
import javax.swing.JLabel;

public class LabelTest {

    public static void main(String args[]) {
        JFrame frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JLabel label = new JLabel();

        String text = "<html>/test</html>";

        label.setText(text);

        frame.add(label);

        frame.setSize(500, 500);
        frame.setVisible(true);
    }
}

我找到的唯一修复方法是使用特殊的html代码:

String text = "<html>&#47;test</html>";

您可以有一个使用replaceAll()的处理方法来自动化这个过程

我不确定为什么会发生这种情况,而且似乎也不会发生在任何其他特殊的角色身上。怪怪的。

 类似资料:
  • 问题内容: 在Python控制台中: 给我: 为什么?有人可以用二进制给我解释这个特殊情况吗? 问题答案: 是。 是: 并且是: 这是在两个补1 1翻转所有位,将1加到结果数上,并将结果解释为幅度的 二进制表示形式 ,并添加一个负号(因为数字以1开头): 它是2,但是由于MSB是1 ,所以符号是负数。 值得一提: 想一想,您会发现它本质上是数字-它有两个值和,它们只是整数1和0的“自定义”版本,它

  • 为什么我在下面的代码段中的X轴上有一个溢出? 在我的网格容器上应用时,就会产生溢出。 null null https://codepen.io/anon/pen/wdjexz?editors=1100

  • 问题内容: 对于我确定的人来说,这是一个简单的答案。有人可以解释为什么此表达式的值为真吗? 问题答案: 因为您使用的是==(相似性)运算符,而PHP将字符串强制为int。 要解决此问题,请使用===(等于)运算符,该运算符不仅会检查值是否相同,还会检查数据类型是否相同,因此“ 123”字符串和123 int不会被视为相等。

  • 问题内容: 遇到一个错误地使用 而不是 在其代码中的人,它没有显示为编译错误。 是因为 是相同的 ? 问题答案: 没有编译错误,因为它是有效的(尽管相当无用) 一元运算符 ,其使用方式与以下方式相同: Java语言规范中的相关部分是Unary Plus运算符+(第15.15.3节) 。它指定调用一元运算会导致操作数的一元数值提升(第5.6.1节)。这意味着: * 如果操作数是编译时类型的,,,或,

  • 我正在玩rxjava,发现如果在活动被销毁之前没有完成订阅,则存在内存泄漏的风险,因为“可观察对象保留对上下文的引用”。如果订阅没有取消订阅,则此类情况的演示之一如下所示。已销毁(来源:https://github.com/dlew/android-subscription-leaks/blob/master/app/src/main/java/net/danlew/rxsubscriptions

  • 请问上述代码的第70行换成第71行注释的内容时,为什么会造成死循环。 题目: https://www.acwing.com/problem/content/174/