Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > (AnyClass)java.awt.Component |
Автор: vvvictor 11.1.2008, 22:01 | ||
Доброе время суток.
Делаю рекурсивный обход по нему приведенной функцией cmpt instanceof AnyClass возвращает false cmpt.getClass().getName() возвращает AnyClass если ремирую проверку instanceof ловлю ClassCastException AnyClass cannot be cast to AnyClass Небольшое дополнение - исходный апплет берет свою родословную от javax.swing.JApplet. Подскажите, плиз, где я туплю ![]() |
Автор: nornad 11.1.2008, 22:37 | ||||
Почему-то мне кажется, что здесь
надо делать так
|
Автор: vvvictor 11.1.2008, 22:43 |
nornad, Делал - не пролазит........... Причем заметь говорит, что не может сделать приведение типа самому себе же........... (AnyClass cannot be cast to AnyClass) |
Автор: w1nd 11.1.2008, 22:51 |
Разные классы? Разные загрузчики? |
Автор: nornad 12.1.2008, 00:10 |
Ну, тогда вычленяй из своего кода небольшой пример, в котором это также не будет работать, и закидывай сюда. Только сначала вычлени этот пример, а не просто отбрось явно ненужное. Сюда уже нужна, так сказать, квинтэссенция примера неработоспособности. Пока будешь вычленять есть вероятность самому разобраться с проблемой. ![]() |
Автор: vvvictor 12.1.2008, 10:55 | ||
Существенное замечание: DoMyAction() вызывается JavaScript-ом из web-странцы.................... |
Автор: batigoal 12.1.2008, 14:58 |
vvvictor, это никак не есть законченный пример. Класса OtherApplet2 у нас нет. Класса AnyClass у нас нет. Метод DoMyAction нигде в коде не вызывается. Если поправить все предыдущие недочёты, то всё равно нужно чем-то набить contentPane, иначе цикл выполнится 0 раз. Тут, конечно, трудолюбивый народ, но допиливать твой код, чтобы он запустился, а потом еще искать ошибку - дело неблагодарное. Так что или подработай этот фрагмент до запускаемости, или хотя бы прикрепи весь проект целиком. |
Автор: vvvictor 12.1.2008, 15:09 | ||
Дело в том, что у меня тоже нет этих классов. А про DoMyAction я уже написал, что вызываю его в JS коде в web-странице............. Оба эти класса от меня официально скрыты, хотя я кое-что декомпиллировал чтоб подсмотреть...... Сам мой код работает и печатает мне в JavaConsole полное "дерево" элементов из апплета. Общая ситуация следущая: У меня есть коммерческое приложение, которое может работать и как приложение и как апплет. Все его классы я просто подцепляю к своему проекты как библиотеки и, соответственно, прописываю в веб-странице его jar-а как требуемые для работы архивы........ Я хочу "автоматизировать" для себя некоторые функции этого приложения. Для этого я создал приведенную обертку - потому как "автоматизатор" должен работать из веб....... Добавлено через 6 минут и 5 секунд Предоставить само приложение я могу (вернее ссылку на него) но врятли кто сможет промоделировать - так-как само приложение является толстым клиентом к третьей системе, к которой есть доступ не у всех............. Сейчас попробую еще промоделироваться на абстрактной ситуации........... |
Автор: batigoal 12.1.2008, 16:08 |
Можно и не исходники, а просто либу или скомпилированный class-файл (с зависимостями, конечно). Попробуй пройтись дебагом - может, у тебя просто два класса с именем AnyClass в системе? Проверь полное имя классов. |
Автор: vvvictor 12.1.2008, 16:29 | ||||||||||
Ничего не понимаю......... Промоделировал ситуацию: Проект: OtherApplet2.jar
Проект: FalseStub.jar
А так мы это безобразие вызываем:
Эта модель работает как задумано............... А при попытке наследования из тех библиотек - обломс.......... Правда эти два проекта не подписаны, а те подписаны, причем разными сигнатурами........ Добавлено через 9 минут
Дело в том, что я использую именно полные имена классов - чтоб лишних наложений не случилось |
Автор: vvvictor 14.1.2008, 06:27 | ||
Вобщем, незагадываючи, обошел таким способом:
Вообще, ткните, плиз носом в толковое описание с примерами по java.lang.reflection и java.beans....................... Судя по анализам декомпиленных текстов - надо копать где-то там.............. |
Автор: w1nd 14.1.2008, 07:12 | ||
vvvictor, а приведите сюда два числа. В исходнике из первого сообщения, добавьте такой вывод:
|
Автор: vvvictor 14.1.2008, 07:21 | ||||||
|
Автор: w1nd 14.1.2008, 09:35 |
Что и требовалось доказать ![]() |