我不知道是否有一种方法可以做到这一个“简单的方法”,也许有人知道一个解决方案:非法访问扩展javax.swing.text.html.HTMLDocument中
我与使用javax工作。 swing.text.html.HTMLDocument类,但由于某种原因,我需要的至少2个方法是非公共的,即使如此,我需要“覆盖”它们,以改变一些东西,但是,在某种程度上,我需要保留HTMLDocument类,因为我使用了很多包javax.swing.text.html ...
所以,我第一次做的是创建一些MyHTMLDocument扩展HTMLDocument,并尝试重写一些方法...当失败时,我尝试用某些方法反思解决问题,但不起作用..因此,经过了解,我已经“复制 - 粘贴所有”HTMLDocument代码作为MyHTMLDocument,(扩展HTMLDocument),改变我需要的东西,并将其放在我自己的“javax.swing.text.html”包中,看起来好像现在工作,但...
...当我终于运行它,我遇到了一些“非法访问错误”,当我打电话给TagActions例如...我越来越沮丧...
请,如果有人可以帮助我,我真的很感激它。
UPDATE:
好吧,让我澄清:
在类javax.swing.text.html.HTMLDocument中,你可以找到三种方法:
公共getReader( INT POS)
公共getReader(INT POS,INT POS,INT popDepth,INT pushDepth,我的HTML.Tag nsertTag)
getReader(INT POS机,POS诠释,诠释popDepth,INT pushDepth,的HTML.Tag insertTag,布尔insertInsertTag)
最后一个,就是非公开或保护。
此外,有一种内在的级称为HTMLReader的,它有3层构造:
公共HTMLReader的(INT偏移)
公共HTMLReader的(INT抵消,诠释popDepth,INT pushDepth,HTML .TAG insertTag)
HTMLReader的(INT抵消,诠释popDepth,INT pushDepth,的HTML.Tag insertTag,布尔insertInsertTag,布尔insertAfterImplied,布尔wantsTrailingNewline)
再次,最后一个是非公开的。
我需要做的是从我的自定义类调用至少这2个非公: 公共类MyHTMLDocument扩展HTMLDocument的{
} 但我只是不知道如何做到这一点。我甚至尝试了一些反思,它似乎工作的方法,但我无法找到一种方法来做相同的构造函数... 再次感谢。
请码你想做什么表现。由于某种原因,这些方法是非公开的,并且可能还有其他方法来完成您正在尝试执行的操作。以完全抽象的方式讨论这个问题是没有用的。 – 2012-04-05 17:17:38
林不知道总有一个原因......我真的认为至少应该保护这两个......但是,正如你所说,讨论这是无用的。我已经修改了我原来的帖子来解释我正在做的事情。感谢您的回复 – ThanatosMK 2012-04-10 18:31:27