![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.09.2010
Сообщений: 24
|
![]()
Написал класс наследник Frame, который создает окошко AWT. У него есть метода для создания различных компонентов. Компоненты создаются не в конструкторе класса, а вызываются соответствующие методы для их создания после инстанцирования класса.
Код:
Привязать сразу не получиться, т.к. все компоненты создаются по порядку, а обрабатывать они должны не один компонент. Есть вариант запихнуть в поля нужное кол-во компонентов, но это зверство, и не приемлемо. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Немного не ясна суть проблемы, почему, к примеру, нельзя передавать слушателя в ту же createButton? Ну в любом случае, для перечисления подконтрольных компонентов контейнера, можно использовать функцию getComponents()
Код:
Последний раз редактировалось netrino; 24.03.2011 в 20:08. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.09.2010
Сообщений: 24
|
![]()
Возможно я туплю, но мне надо создать компоненты на форме не все сразу,а по очереди и естественно хотелось чтобы их кол-во (создаваемых) было "не ограничено". Отступление, я делаю лабораторную изучаем Java и применяем паттерны проектирования, для создания порождающего паттерна "Bilder" хотелось чтобы для каждого действия была свой метод в классе, чтобы применение паттерна было более менее оправдано.
Поэтому я хочу получить доступ к компонентам формы и добавить к ним слушателя(как говорил ранее, слушатель крепится не только кнопке но и к TextArea). О, 2 раза спасибо! Вы единственный кто ответил, и очень понятно. Разобрал код, понял, создаем панель элементов которые нам возвращает форма, и ищем в цикле совпадение с кнопкой. Круто, спасибо! Только 2 вопроса: я отключил "setLayout" я думаю из-за этого не чего страшного не произойдет? и второй сначала ругался, что "java.awtButton cannot be cast to java.awt.Panel", а потом и к "TextField", как я понял он не может преобразовать тип, что с этим можно сделать? Исправил) Код:
как тебя поблагодарить? куда плюс поставить?) Последний раз редактировалось AlkaloiD; 24.03.2011 в 20:55. Причина: код написал |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Не стоит благодарности)
Про setLayout это конечно ничего, единственный минус - приходится самому заниматься расположением объектов, что, впрочем, Вы и так делаете, а часто именно это и бывает необходимо. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 21.09.2010
Сообщений: 24
|
![]()
Почитал документацию к Java и нашел еще один способ который подходит для моего решения (может быть кому будет интересно).
Код:
|
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
![]()
Капитан очевидность подсказывает что нужно хранить прямую ссылку на нужный компонент, как переменную экземпляра класса-наследника нужного компонента (фрейма, окна, панели и тд).
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 21.09.2010
Сообщений: 24
|
![]()
Если я Вас правильно понял, то каждая функция, а их столько сколько нам возможно понадобиться различных компонентов, должна создавать объект нужного класса, добавлять ее на форму и как то сохранять ссылку на этот объект. Если так то, сохранить ссылку на данный объект, это сделать поле класса для этого объекта? Или я не так понял Вас..
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
![]()
В джаве нет функций.
Мне кажется все слишком усложняете, посмотрите какой код генерит редактор интерфейсов в нетбинсе.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 21.09.2010
Сообщений: 24
|
![]()
Извиняюсь, метод или функция-член класса.
Слышал о том что в нетбинсе легко создаются окошки, но не ставил, не смотрел еще. Спасибо за совет, посмотрю. |
![]() |
![]() |
![]() |
#10 | |
Новичок
Джуниор
Регистрация: 10.04.2011
Сообщений: 1
|
![]() Цитата:
что значит "[0]" после метода? |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обратиться к уже созданным на форме label'ам в цикле? | bemm | Общие вопросы .NET | 5 | 21.03.2011 17:44 |
обратиться к компоненту Memo, на активной вкладке PageControl | dr.Chas | Общие вопросы Delphi | 11 | 29.04.2010 17:10 |
Почему из метода класса нельзя обратиться к компоненту на форме? | Дима я | Общие вопросы Delphi | 2 | 28.03.2010 13:21 |
Как обратиться к активной форме? | Dimon88 | Помощь студентам | 4 | 18.10.2008 00:03 |
как обратиться к невидемой форме | Scorpeon | Общие вопросы Delphi | 3 | 29.06.2007 16:16 |