从javax.swing.text尝试针对AbstractDocument.UndoRedoDocumentE
在javax.swing.text.DefaultCaret.Handler.insertUpdate(DocumentEvent)的源代码中,我找到了以下行(从第1685行开始):
但是,当我尝试这个:
它会给:
为什么我不能对该类进行实例化,但DefaultCaret.Handler可以吗? 使用java版本1.6.0_20
更新: 根据答案我尝试了以下内容: 文件Foo.java:
文件Outer.java:
这很好,并按预期打印“aww”. 请注意,这两个文件都在包javax.swing.text中.另请注意,Foo.java已经在我原始问题的javax.swing.text包中. 据我所知,包装没有“密封”. rt.jar的MANIFEST(包含javax.swing.text包的那个)不包含“Sealed”.命令Package.getPackage(“javax.swing.text”).isSealed()返回false. 所以我可以反对我自己的内部类,但不能反对AbstractDocument.UndoRedoDocumentEvent,即使包中的其他类可以. 任何想法为什么会这样? 最佳答案
看起来UndoRedoDocument是受包保护的,而DefaultCaret.Handler和UndoRedoDocument在同一个包中(如果我没记错的话,javax.swing.text).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |