Java

Как обратиться к объектам другого класса

Подскажите, как в языке программирования Java SE 6 можно обратиться к объекту другого класса (в моём случае - к кнопке из другого фрейма)?

И как изменить текст на кнопке? (это для проверки правильности моего алгоритма).
Можно конечно сделать кнопку публичной, но управлять классом извне напрямую считается плохим тоном, поэтому следует просто либо задавать эти данные через конструктор, либо через метод. А вообще, не вижу смысла обзывать кнопки в другом классе. Не надо превращать код в свалку.
МД
Марсель Давлетов
92 552
Лучший ответ
"объекты другого класса"????

ты понимаешь что "класс" это тоже "объект"? да?
Константин Ананьев видишь пример? или ты прочитал предложение перед ним и сразу ответ настрочил?
Вы, вероятно, оговорились. Не к объектам, а к содержимому контейнера. Фрейм - контейнер. Вы же сами в него положили кнопку, когда писали add. Элементы контейнера - перечислимые, то есть их можно хоть по очереди доставать, хоть по индексу, хоть по ключу.
Константин Ананьев а точнее можно? так пойдёт: фрейм. кнопка = кнопка (новый текст)?
Или передать объект одного класса в нужный метод другого в качестве параметра
Неужели в твоей программе нет ни одного обращения к объектам другого класса? Это приложение "Hello world"?
Элементарно. Через точку: sameObject.aMetod() или sameObject.aField
Вызываемый метод или поле должно быть public.
Константин Ананьев и на фига мне делать несколькофреймовый хеллоу ворлд?
самый пряморукий способ - передать обьект другого класса в конструкторе
protected кнопка
public конструктор ( Кропка кропка) {
this. кнопка = кнопка;

}
и делаешь с этой переменной что хочешь
или то же самое в sette-ре.
для переименования кнопки пряморуким способом является обьявление listenera на какое то событие, в ходе которого этот листенер меняет текст на кнопке, листенеру следует передавать обьект кнопки как описано выше в конструкторе.

Менее пряморукие способы имхо:
- сделать обьект статическим
- сохранить обьект в статической хеш таблице objects < String, Object>
- сделать статический метод static changeButton ( твой, обьект, кнопка)
- вывернуть код на изнанку visitor-ом, то есть тогда "кнопка" будет знать про этот класс
По хорошему, тот фрейм который владеет кнопкой должен иметь паблик метод, типа setText_ButtonStart(String text)