有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在netbeans中打开文件时触发事件

我正在开发一个Netbeans插件。所以我想做的是在Netbeans中打开文件时做些什么。当我们在Netbeans IDE中打开一个文件时,该文件将在一个选项卡中打开。例如,当它打开时,我想打印它的内容

我目前通过PropertyChangeListener实现它,但它不仅在选项卡中打开新文件时触发,而且在右键单击最小化时触发。。。还有更多。所以我不能用它。我应该使用什么事件进行此操作

这是我当前的代码:

public void propertyChange(PropertyChangeEvent evt) {
                JTextComponent jtc = EditorRegistry.lastFocusedComponent();
                if (jtc != null) {
                    Document d = jtc.getDocument();
                    //more codes.....
                }
}

共 (1) 个答案

  1. # 1 楼答案

    试着检查它是否是一个新的JTextComponent

    JTextComponent lastJtc = null;
    
    public void propertyChange(PropertyChangeEvent evt) {
                    JTextComponent jtc = EditorRegistry.lastFocusedComponent();
                    if (jtc != null && jtc != lastJtc) {
                        Document d = jtc.getDocument();
                        //more codes.....
                    }
                    lastJtc = jtc;
    }