gpt4 book ai didi

Java Swing - 检测文档中的更改

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:45:38 25 4
gpt4 key购买 nike

在学校,我尝试使用 Java 的 Swing 重新创建 Microsoft 的记事本程序。我正在处理 .txt 文件的保存和打开,我正在尝试找出一种方法让程序检测何时对文档进行了更改。如果检测到更改并且用户选择打开或创建新文件,我希望程序提示用户是否要在继续之前保存更改。

我对此的想法是创建一个名为 documentChanged 的标志,该标志最初为 false,并且每当对 JTextArea 进行更改时将其设置为 true >。为了检测这种变化,我想到了使用 TextListener 如下:

public class JNotepad implements ActionListener
{
boolean documentChanged;
JTextArea notepad;

JNotepad()
{
documentChanged = false;

notepad = new JTextArea();
notepad.addTextListener(new TextListener() {
public void textValueChanged(TextEvent te) {
documentChanged = true;
}
});
}
}

但是,我了解到 Java 类无法同时实现多个接口(interface),并且我已经在使用 ActionListener 来实现记事本菜单栏的项目。

我的问题是,有没有办法在同一个类中同时使用 TextListenerActionListener(或任何其他监听器)?如果没有,检测文档更改的最佳行动计划是什么?

最佳答案

这是在另一个帖子里的回答。参见 Text Changed event in JTextArea? How to?

另见 How to Write a Document Listener (DocumentListener) 在 Oracle 中,您将看到一个小程序示例。

关于Java Swing - 检测文档中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27209814/

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