1

我正在开发一个用于 jEdit 4.0 的旧 jEdit 插件。我正在尝试为 jEdit 5.3 更新它。我必须更新插件 (.jar) 的主要原因之一是 BufferChangeListener 和 BufferChangeAdapter 现在已弃用。我必须改用新的 BufferListener 。

编译时,我遇到了似乎无关的问题。它不喜欢“.1”或“.2”或“.3”或“.4”(例如 AssetBrowserDockableWindow.1)

AssetBrowserDockableWindow 是一个没有像“.1”或“.2”或“.3”或“.4”这样的方法或类的类。据我所知,它不会继承此类方法或属性。

public class AssetBrowserDockableWindow
    extends JPanel
    implements EBComponent

但是,在前面的代码中,我看到如下代码片段:

private class BufferChangeHandler extends BufferListener {

    BufferChangeHandler(AssetBrowserDockableWindow.1 x1) { this(); }

.

SwingUtilities.invokeAndWait(new AssetBrowserDockableWindow.1(this));

.

SwingUtilities.invokeLater(new AssetBrowserDockableWindow.2(this));

.

this.editPane.getTextArea().addFocusListener(new AssetBrowserDockableWindow.3(this));

error: <identifier> expected在这些数字上得到“”。我希望有人能解释这些数字的用途。对不起,如果它是基本的东西,我不是在寻找合适的术语。如果有人可以提供任何可以为我指明正确方向的见解,我将不胜感激。

4

1 回答 1

0

该“以前的代码”是从 .class 文件中反编译的。这些是编译器分配给匿名内部类的标识符,尽管分隔符通常是美元符号,如 AssetBrowserDockableWindow$2。

于 2016-04-18T00:32:49.170 回答