![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Народ, подскажите, как правильно пользоваться invoke?
Допустим я хочу через invoke выполнить вызов Obj.myMethod(); Что для этого надо сделать? java.lang.reflect.Method m=Obj.myMethod(); m.invoke(Obj.myMethod ); ? -------------------- |
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Конкретизирую вопрос...
Допустим у меня есть вызов auth.SteVisible(false); после этого идет операция с сетью, и етесственно объект auth как бы замораживается... т.е. перерисовки (скрытия) не происходит.
-------------------- |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
Ну вот так, например
Для boolean будет соответственно boolean.class и new Boolean(false); http://www-106.ibm.com/developerworks/java...rary/j-dyn0603/ http://www-106.ibm.com/developerworks/java.../j-dyn0715.html Это сообщение отредактировал(а) Domestic Cat - 22.8.2004, 00:45 -------------------- |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Уже как то постил... Надеюсь поможет
Если пакет и классы уже есть класспасе, то делается все просто:
Добавлено @ 01:13 + еще была тема http://forum.vingrad.ru/index.php?showtopi...11&hl=getmethod |
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Domestic Cat Пасиб за пример. примерно таким путем и шел, но стопорнулся на классе типа boolean...
Теперь все стало на свои места. DarkDS Вот! Именно этот постинг я и искал по форуму... Пасиб! -------------------- |
|||
|
||||
| Alone |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Можно уточнить? Что за метод class у объекта MyClass ??? -------------------- |
||||
|
|||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Это статик переменная, которая идет от Object и инициализированная классом текущего объекта.
То есть class у MyClass инициализированна структурой java.reflection.Class, которая описывает MyClass Точно такую же структуру вернет вызов метода myClass.getClass(); |
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Насчет getClass согласен, а вот переменной class у моего объекта (public class authPanel extends javax.swing.JPanel ) нет.
-------------------- |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Она есть у всех объектов
Добавлено @ 15:50 А javax.swing.JPanel наследуется от объекта (не в прямую а через других родительские классы), как и все классы в яве. Так вот у объекта встроена статическая переменная класс |
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Блин...
Вот отрывок из кода
при выполнении получаем Exception e=object is not an instance of declaring class -------------------- |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
У тебя ошибка в m.invoke(_class, args);
Там должно быть m.invoke(auth, args); Так как первым аргументом должен быть инстансированный объект нужного тебе класса |
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Да, действительно.
Но поблема остается... метод setVisible(false) объекта auth не вызывается... Объект остается замороженным, до окончания работы с сетью. -------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
А на какой строке падает ?
|
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
с помощю дебага выяснил, что метод setVisible(false) вызывается, но не понимаю, почему объект не перерисовывается???
Добавлено @ 10:54 вот отладочный метод объекта auth, который я вызывал через invoke вместо setVisible(false)
в дебаговый вывод он мне пишет, что метод был вызван. Тоесть типа Ок. но до окончания работы с сетью (чтение/запись в сокет) это где то около 3-5сек объект остается на экране как и прежде, с нажатой кнопкой... -------------------- |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
У тебя работа с сетью идет в том же треде что и свинги работают?
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |