мне интересно, если есть способ сделать это в «простой путь» и, возможно, кто-то знает решение:Незаконный доступ простирающийся javax.swing.text.html.HTMLDocument
Я работаю с javax. swing.text.html.HTMLDocument, но по какой-то причине, по крайней мере, 2 метода, которые мне нужны, являются непубличными, тем не менее, мне нужно «переопределить» их, изменить несколько вещей, но, в некотором роде, я нужно сохранить класс HTMLDocument, потому что я использую много пакета javax.swing.text.html ...
Итак, что я в первый раз сделал, было создано какое-то приложение MyHTMLDocument, расширяющее HTMLDocument и пытающееся переопределить некоторые методы ... когда это не удалось, я попытался решить его, используя отражение некоторых методов, но не работает .. поэтому, будучи desedperated, я «скопирую - вставляю весь» код HTMLDocument как MyHTMLDocument, (расширяя HTMLDocument), изменяю то, что мне нужно, и помещаю его в свой собственный пакет «javax.swing.text.html», и кажется работать сейчас, но ...
... когда я, наконец, запустил его, я застрял на некоторых ошибках «Незаконного доступа», например, когда я вызываю TagActions ... и я расстраиваюсь ...
, пожалуйста, если кто-то может мне помочь, я очень ценю это.
UPDATE:
Хорошо, позвольте мне уточнить:
В классе javax.swing.text.html.HTMLDocument, вы можете найти три метода:
общественного getReader (int pos)
public getReader (int pos, int pos, int popDepth, int pushDepth, HTML.Tag i nsertTag)
getReader (интермедиат поз, внутр поз, внутр popDepth, внутр pushDepth, HTML.Tag insertTag, логическое insertInsertTag)
последний, не является государственным или защищена.
Кроме того, существует внутренний-класс называется HTMLReader и имеет 3 конструктора:
общественного HTMLReader (INT смещение)
общественного HTMLReader (Int смещения, Int popDepth, Int pushDepth, HTML .tag insertTag)
HTMLReader (Int смещения, Int popDepth, Int pushDepth, HTML.Tag insertTag, булево insertInsertTag, логическое insertAfterImplied, логическое wantsTrailingNewline)
еще один, не публичный.
Что мне нужно сделать, это позвонить по крайней мере, эти два непубличный из моего пользовательского класса: общественного класса MyHTMLDocument расширяет HTMLDocument {
} , но я просто не знаю, как это сделать .. я даже попробовал с некоторым отражением и, похоже, работает для методов, но я не могу найти способ сделать то же самое для конструкторов ... Еще раз спасибо.
Пожалуйста, покажите с кодом, что вы пытаетесь сделать. Методы не являются общедоступными по какой-либо причине, и, вероятно, существуют другие способы достижения того, что вы пытаетесь сделать. Обсуждение этого в совершенно абстрактных терминах бесполезно. –
Я не уверен, что для этого есть все основания ... Я действительно думаю, что по крайней мере эти два должны быть защищены ... но, как вы сказали, обсуждение этого бесполезно. Я уже изменил свое оригинальное сообщение, чтобы немного объяснить, что я делаю. Спасибо за ответ – ThanatosMK