Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2012, 12:46   #1
the27mart
Пользователь
 
Аватар для the27mart
 
Регистрация: 10.01.2012
Сообщений: 28
По умолчанию Доступ к обьекту другого класса.

Проблема такая:
У меня есть два класса, в которых я описываю фрейм и панель с кнопкой.
У меня есть класс с методом main, в котором создается новый фрейм.
У меня есть класс-обработчик.

Задача состоит в том, чтобы по нажатию кнопки изменялось название фрейма. Но из обьекта-обработчика я не могу получить доступ к методам обьекта-фрейма, который создается в методе main(и вообще не могу получить доступ ни к одному обьекту, созданному в методе main).

Подскажите, как получить доступ??
Just Google it!
the27mart вне форума Ответить с цитированием
Старый 08.08.2012, 14:41   #2
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

В конструктор класса обработчика передать объект фрейма.
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Старый 08.08.2012, 18:05   #3
Sna1L
Форумчанин
 
Аватар для Sna1L
 
Регистрация: 15.03.2011
Сообщений: 272
По умолчанию

Немного не понял, что Вы написали.
А передача аргумента(фрейма) не канает?

Если работает, то, думаю, Ваша проблема в том, что Вы еще "не отошли" от императивного программирования(пример:Си, паскаль).

Последний раз редактировалось Sna1L; 08.08.2012 в 18:08.
Sna1L вне форума Ответить с цитированием
Старый 08.08.2012, 18:16   #4
the27mart
Пользователь
 
Аватар для the27mart
 
Регистрация: 10.01.2012
Сообщений: 28
По умолчанию

Цитата:
В конструктор класса обработчика передать объект фрейма
Как передать, если frame создается в main, а объект обработчик создается в конструкторе класса панели?)

Код примерно такой:
Код:
import javax.swing.*;
import java.util.*;
import java.awt.event.*;

public class HelloWorld {
    public static void main(String args[])
    {
        Frame frame = new Frame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

class Frame extends JFrame
{
    public Frame()
    {
         //Тут создается обьект панели(Panel) и добавляется на этот фрейм.
    }
}

class Panel extends JPanel
{
    public Panel()
    {
        //Тут создается кнопка, по нажатию которой должно меняться название фрейма.
        //(Ну и естественно эта кнопка добавляется на панель)
        //Затем тут создается объект Handler и привязывается к созданной кнопке.
    }
}

class Handler implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {
         //Отсюда нужно получить доступ к frame и поменять его название.
    }
}
Just Google it!
the27mart вне форума Ответить с цитированием
Старый 08.08.2012, 18:58   #5
Sna1L
Форумчанин
 
Аватар для Sna1L
 
Регистрация: 15.03.2011
Сообщений: 272
По умолчанию

Как вариант - обьявить фрейм как поле класса хелловорлд(static public Frame frame).
Тогда к нему можно будет обращаться как HelloWorld.frame

Но что-то мне подсказывает, что есть более элегантное решение
Sna1L вне форума Ответить с цитированием
Старый 08.08.2012, 19:16   #6
the27mart
Пользователь
 
Аватар для the27mart
 
Регистрация: 10.01.2012
Сообщений: 28
По умолчанию

Все решилось по другому...Сначала переедал фрейм из класса Frame конструктору класса Panel(с помощью this), а потом из класса Panel передал конструктору класса Handler, а оттуда уже название и менял) Для классов Panel и Handler пришлось создать поля типа Frame, чтобы было куда и что передавать
Just Google it!
the27mart вне форума Ответить с цитированием
Старый 08.08.2012, 19:30   #7
Sna1L
Форумчанин
 
Аватар для Sna1L
 
Регистрация: 15.03.2011
Сообщений: 272
По умолчанию

оффтоп.
внутреннее чувство меня никогда не обманывает

В свое оправдание могу сказать, что у меня сейчас пол четвертого утра(или ночи?), так что голова не варит
Sna1L вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к элементам диалогового окна MFC из другого класса applegrub Visual C++ 0 22.04.2012 20:04
Доступ к TextBox в WPF из другого класса CoderWPF WPF, UWP, WinRT, XAML 2 15.03.2012 11:07
Конструктор класса не хочет принимать в качестве параметра адрес объекта другого класса Jugger Помощь студентам 3 05.01.2012 04:10
Доступ из другого класса KipZ Windows Forms 1 06.02.2011 15:22
Если в классе объявить объект другого класса,будет ли видно переменные первого класса из объекта второго? TwiX Общие вопросы Delphi 3 15.11.2009 00:54