我正在开发一个旧的 jEdit 插件,该插件曾经与 jEdit 4.0 一起使用。我正在尝试将其更新为 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
”。我希望有人能解释这些数字的用途。如果这是基本的东西并且我没有在寻找合适的术语,我很抱歉。如果有人能够提供任何类型的见解来为我指明正确的方向,我将不胜感激。
最佳答案
“以前的代码”是从 .class 文件反编译的。这些是编译器分配给匿名内部类的标识符,尽管分隔符通常是美元符号,如 AssetBrowserDockableWindow$2 中所示。
关于java - Java 类上的 .1 .2 .3 .4 有何用途(如方法或属性)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36660852/