使用JEditorPane及其setPage方法

时间:2009-03-05 10:48:11

标签: java user-interface jeditorpane

我有一个显示HTML文件的编辑器窗格。当我要求它执行一次时,它会显示HTML文件。然后我对我的HTML文件进行了更改并使用setPage方法,以便它打印更新的HTML文件,但即使HTML文件发生更改,它也不会这样做。

这是编辑器窗格的问题还是我的代码有问题?

2 个答案:

答案 0 :(得分:7)

查看JavaDoc for setPage,我看到以下内容:

  

如果所需的URL是当前正在显示的URL,则文档不会   重新加载。要强制重新加载文档,必须清除流描述   文件的财产。以下代码显示了如何完成此操作:

Document doc = jEditorPane.getDocument();
doc.putProperty(Document.StreamDescriptionProperty, null);

答案 1 :(得分:0)

我已经完成了一些测试,并且我已经重现了这种行为。当我调用setPage并将先前在同一方法中传递的相同URL作为参数传递时,JEditorPane似乎忽略了该调用。

一个简单的解决方法:测试新的Url是否与前一个相同。如果是,请以不同方式格式化Url。例如,最后添加%20。新的Url实际上是指同一页面,但JEditorPane会将其视为一个新的,它会正确地重新加载它。