我正在开发Java Swing应用程序(JDK 7)。我在两个不同的JFrame上有两个JEditorPane实例,我需要进行同步。我知道在修改过的事件上强制复制内容的艰难方法是一种方法。但是,我想知道是否有更聪明/更简单的方法来做到这一点。我尝试在两个帧上使用相同的JEditorPane实例,但这不起作用。
我相信对容器面板的引用包含在JEditorPane实例中,因此旧容器在添加到新容器时会被删除。我们可以创建一个新的JEditorPane子类,它可以容纳两个容器吗?
你之前尝试过这样的事吗?
答案 0 :(得分:3)
使用JEditorPane
的2个实例。将它们设置为相同的EditorKit
,然后使用第二个中的第一个Document
。
editorPane2.setDocument(editorPane1.getDocument());
Document
实际上是一个模型,您可以在两个组件之间共享相同的模型。