gpt4 book ai didi

java - Swing 组件中的 HTML 格式文本不显示

转载 作者:太空宇宙 更新时间:2023-11-04 15:38:58 25 4
gpt4 key购买 nike

我最近遇到了奇怪的情况;我的 Swing 组件中的 HTML 格式文本没有显示。我搜索了类似的问题,找到了one ,但它似乎并没有解决适用于我的案例的解决方案(即使有一个公认的答案)

我还在 Oracle tutorials 上玩过 HtmlDemo 类.从那里复制到我的项目的代码不起作用,就像我自己的代码不起作用一样。但是,如果我编译整个项目,或通过 JWS 运行它,一切看起来都很好。

我已经尝试用较小的案例(例如注释的 JLabels)来隔离问题,但仍然没有快乐。目前我真的很困惑;几乎可以肯定我在某处遗漏了一个细节,但似乎无法找到它。

下面是一个返回 JScrollPane 的方法,它被放置在 JTabbedPane 中,它应该描述相关的代码片段。哦,顺便说一句,我目前正在使用 Sun JDK 1.6.0 Java(TM) SE Runtime Environment (build 1.6.0_24-b07)

如有任何帮助/意见,我们将不胜感激!


JTabbedPane tabbedPane = new JTabbedPane(); 

JComponent panel1 = makeInfoPanel(v);
tabbedPane.addTab("Node Info", null, panel1,"info");
tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);

JComponent panel2 = makeDetailsPanel(v);
tabbedPane.addTab("Details", null, panel2,"other info");
tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);

protected JComponent makeInfoPanel(Node v) {
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(400,200));
panel.setLayout(new GridLayout(0,1));

//JLabel title = new JLabel("<html><b><u>T</u>wo</b><br>lines</html>");
String msg = "Below are the items this node represents";
//JLabel title = new JLabel("<html><font size=-2>" + msg +"</font></html>");
JLabel title = new JLabel(msg);
title.setHorizontalAlignment(JLabel.LEFT);
panel.add(title);

JLabel stuff = new JLabel();
StringBuilder labelText = new StringBuilder("<html><h3>Items</h3>");
for(Stuff s : v.getStuff()){
labelText.append("<font size=8><i>" + s.getName() + "</i></font>");
labelText.append("&nbsp;nbsp;&nbsp; <font size=6>" + s.getDb().toUpperCase() + "</font>");
labelText.append("<br>");
}

labelText.append("</html>");
stuff.setText(labelText.toString());

panel.add(stuff);

return new JScrollPane(panel);
}

最佳答案

尝试 Bug ID 7008526 底部显示的修复.

这就是我在使用 HTML 呈现的小程序中实现修复的方式。

public void init() {
// Solves an applet/HTML parsing bug.
ParserDelegator parserDelegator = new ParserDelegator();
System.out.println("parserDelegator set: "+ parserDelegator);

通过创建显式解析器委托(delegate)器并存储对它的引用,它永远不会重新创建,因此不会触发错误。

关于java - Swing 组件中的 HTML 格式文本不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5807580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com