![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ~RVS |
|
|||
|
Unregistered |
Встала интересная задача - необходимо в (к примеру) конструкторе создающегося объекта узнать тот объект, в котором породили этот создающийся объект. грубо говоря где написана команда new. логичным казалось бы не морочить голову себе и другим и передавать всё что мне нужно прямо в параметрах конструктора, но такой вариант практически не проходит...
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Сгенерить эксепшн и пробежав по стеку узнать из какого места вызвали - вот и получим класс. Хотя IMHO это решение не очень.
Мне сложно представить ситуацию, когда нельзя просто передать параметр. Пусть не в конструкторе (понятно, что через NewInstance не получиться), но потом через вызов какой-либо функции отдать легко. Ну или перепроектировать - чтобы не надо было так напрягаться. |
|||
|
||||
| ~RVS |
|
|||
|
Unregistered |
ситуация такая, что есть большой проект, где что-то накалякано с ипользованием только диалогов, а превратить это хочется в нечто более цивилизованное. вот я в другом форуме ответил - перенабивать не хочется:
===8<=== дело в том, что сейчас я заморачиваюсь написанием красивой библиотечки для работы с вложенными окнами, дак вот для того, чтобы создать "модальное" окно внутри главного фрейма просто необходимо знать, КТО создал этот модельный внутренний фрейм для того, чтобы сделать неактивным именно то окно, откуда было запущено модальное. всё бы ничего, если бы просто библиотечку написал, а потом пользовались бы ей все. тут однозначно в конструктор передал предка и не заморачиваешься больше. дело в том, что уже написан большой проект, в куда с минимальными трудозатратами хотелось бы внедрить эту библиотеку. а для этого лишние параметры (в целях совместимости) не желательны. а проект практически целиком и полностью на JDialog-ах написан... ===8<=== |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
"Мне бы такую работу, чтобы не работать" Я не знаю, чем можно помочь в данной ситуации. Информаци о том, где (в какой строке кода) создан объект невозможно получить без передачи объекту этих параметров. Так что "вы даете нереальные планы" |
|||
|
||||
| ~RVS |
|
|||
|
Unregistered |
про строку, в общем-то речь и не шла... речь про объект шла, откуда оно сработало.
ну да и ладно. оставил я эту идею, в общем. |
|||
|
||||
![]()
|
| Правила форума "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. |