С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
 Аватар для the27mart
6 / 6 / 1
Регистрация: 01.08.2012
Сообщений: 45

Доступ у обьекту другого класса

08.08.2012, 12:50. Показов 3990. Ответов 4
Метки нет (Все метки)

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

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

Подскажите, как получить доступ??
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.08.2012, 12:50
Ответы с готовыми решениями:

Доступ к private-данным одного класса из другого
Как получить доступ к private данных одного класса в другом? В принципе нельзя. Но можешь всеже есть для этого какой то механизм??

XmlJava. Сериализация класса с полем - массивом объектов другого класса
Есть 2 класса Студент и Академ.группа(с полем - массивом студентов). Необходимо выполнить сериализацию и десереализацию в XML. Для этого...

Перенос строки из одного класса в JTextArrea другого класса
Есть два класса. Первый public class TestClass1 extends JFrame { private static boolean permit; ...

4
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
08.08.2012, 15:37
Вариант 1. Передать обработчику frame

Вариант 2. Создать обработчик внутри frame
1
 Аватар для the27mart
6 / 6 / 1
Регистрация: 01.08.2012
Сообщений: 45
08.08.2012, 18:12  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Вариант 1. Передать обработчику frame
Как передать, если frame создается в main, а объект обработчик создается в конструкторе класса панели?)

Код примерно такой:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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 и поменять его название.
    }
}
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
08.08.2012, 18:28
the27mart, попробуйте передать объект frame сначала конструктору класса Panel, а потом конструктору класса Handler.
1
 Аватар для the27mart
6 / 6 / 1
Регистрация: 01.08.2012
Сообщений: 45
08.08.2012, 18:41  [ТС]
Цитата Сообщение от MILAN Посмотреть сообщение
the27mart, попробуйте передать объект frame сначала конструктору класса Panel, а потом конструктору класса Handler.
Аа все, спасибо, заработало!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.08.2012, 18:41
Помогаю со студенческими работами здесь

Объект класса - список объектов другого класса
Есть класс композиция, есть класс CD-диск. CD должен состоять из списка Композиций. Как после этого работать с CD как со списком? Может...

Как вызвать из одного класса (для метода типа void) метод типа boolean другого класса?
ребят, только учусь и конечно, вопросов возникает много. ситуация вот в чем. есть массив. я должна найти в i-том элементе какую-то...

Создать экземпляр одного класса в Main, и передать его в экземпляр другого класса
Добрый день. Подскажите пожалуйста. есть несколько классов-файлов в одном пакете. class one class two class main... Нужно...

Доступ к переменной другого клаcса
Здравствуйте. Подскажите пожалуйста как из класса меин обратится к переменной метода другого класса этого же пакета. Из public class...

Метод из другого класса
допустим есть класс Editor и метод editor и есть класс Main с методом main как вызвать метод editor в методе main&


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru