【问题标题】:How can I react to JEditorPane text changes?如何对 JEditorPane 文本更改做出反应?
【发布时间】:2015-05-09 09:49:36
【问题描述】:

我正在构建一个编辑器。我想知道JEditorPane 中的文字是否被修改。如何对编辑器窗格文本更改做出反应?

下面的代码好像不行。

JEditorPane editorConfig = new JEditorPane();

editorConfig.getDocument().addDocumentListener(new DocumentListener(){

    @Override
    public void insertUpdate(DocumentEvent e) {
        System.out.println("insertUpdate called");
        Dialogc.this.refreshTitle();
    }

    @Override
    public void removeUpdate(DocumentEvent e) {
        System.out.println("removeUpdate called");
        Dialogc.this.refreshTitle();
    }

    @Override
    public void changedUpdate(DocumentEvent e) {
        System.out.println("changedUpdate");
        Dialogc.this.refreshTitle();
    }               
});

【问题讨论】:

  • 嗨,“JEditPane 中的测试是否被修改”是什么意思?为什么它不起作用,预期和实际结果是什么?
  • I'm working to build a editor 不要使用 JEditorPane。 JEdi​​torPane 用于显示 HTML。使用 JTextPane。如果您需要这些功能,使用纯文本和修改属性会更容易。
  • 应该是“JEditPane中的TEXT是否被修改”:)。
  • JTextPane 也不起作用; KeyLinstener 工作,但无法处理鼠标事件。
  • 欢迎来到 Stack Overflow!我编辑了您问题的标题以使其更简单。我还将您的代码示例缩进了 4 个空格并删除了制表符,以便正确呈现 - 请参阅编辑帮助以获取有关格式的更多信息。我改进了 printlns 中的调试语句。请描述您重现问题所采取的步骤、您希望看到的输出以及生成的实际输出。祝你好运!

标签: java swing jeditorpane documentlistener


【解决方案1】:

非常感谢您的反馈;该代码适用于文档更新。代码不起作用,因为 JTextArea 的文档在接下来的逻辑中发生了变化。

谢谢 克劳斯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多