powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Передать строку в поле объекта (экз. класса) из другого объекта по событию
19 сообщений из 19, страница 1 из 1
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38433100
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в java передать текущее значение некой переменной из метода события в другом объекте? Т.е. есть строковая переменная, полученная выбором ветки в дереве ( Экземпляр класса JTree). Значение этой переменной надо передать полю другого объекта - экз.класса JFrame. Просьба помягче, я с java й недели 3.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38433107
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это к Java отношения не имеет. Нужно просто выкинуть GUI дизайнер и сначала поучиться писать код. Чтобы было очевидно, что если нужно положить значение в поле объекта, то нужно иметь где-то ссылку на этот объект.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38433114
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос как раз в том, как поиметь ссылку на поле объекта.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38433121
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О.СергейВопрос как раз в том, как поиметь ссылку на поле объекта. не создавая нового объекта
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38433122
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.СергейВопрос как раз в том, как поиметь ссылку на поле объекта.
- Передать через конструктор
- Передать через setter-метод
- Передать через статическое поле
- Не передавать ссылку напрямую, использовать паттерн Observer для более слабой свяности и таким образом передать ссылку через анонимный\вложеный класс.
- Использовать биндинг и MVVM
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38433125
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.Сергейне создавая нового объекта
Т.е. если переформулировать, то вопрос в том как вместо
Код: java
1.
2.
frame = new MyFrame();
tree = new MyTree(new MyFrame());

написать
Код: java
1.
2.
frame = new MyFrame();
tree = new MyTree(frame);
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38433152
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, спасибо, но через сеттер не получается, буду дальше копать.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38433162
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.СергейBlazkowicz, спасибо, но через сеттер не получается, буду дальше копать.

Вероятно вместо
Код: java
1.
2.
3.
tree = new MyTree();
tree.setFrame(frame);
frame = new MyFrame();



Стоит написать
Код: java
1.
2.
3.
tree = new MyTree();
frame = new MyFrame();
tree.setFrame(frame);
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435225
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ничего не получается!
Вот пример ситуации

public class PGAcc {
private int a=0;
public void aset(int b) {
a=b;
}
public static void main(String [] args) {
tree t = new tree();
System.out.println(a);
}
}

public class tree {
private int x;
//...
//здесь пользователь гуляет по дереву и по событию Selection Node происходит присвоение
значения переменной х (например 5)
//...
x=5;
PGAcc.aset(x); //?????
}

как в 8 строке получить значение х (=5)?
Уперся намертво. Подскажите плс как проще выбраться.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435291
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.Сергей,
у вас нет объекта класса PGAcc, чтобы в нем устанавливать какие-то свойства. создайте сначала объект этого класса, и передайте ссылку в конструктор класса tree например.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435360
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javapecker, я извиняюсь за пример. конечно в реальном коде объект PGAcc создается примерно так:

Код: 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.
public class PGAcc extends javax.swing.JFrame {
private int a=0;
public void aset(int b) {
a=b;
}
public static void main(String [] args) {
	public void run() {
                new PGAcc().setVisible(true);
        }

	tree t = new tree();
	System.out.println(a);
}
}

public class tree {
private int x;
//...
//здесь пользователь гуляет по дереву и по событию Selection Node происходит присвоение
значения переменной х (например 5)
//...
x=5;
PGAcc.aset(x); //?????
}
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435382
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class PGAcc extends javax.swing.JFrame implements TreeSelectionListener{
...
    public void valueChanged(TreeSelectionEvent e){
         // e.getSource() - ссылка на дерево
         // e.getPath() - выбраная нода
    }
......
}


PGAcc pgacc;
...
pgacc = new PGAcc();
...
Tree t = new Tree();
t.addTreeSelectionListener(pgass);
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435388
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.Сергей,
вы опять обращаетесь к классу, а не к созданному объекту. Код ваш не буду комментировать, суть не в нем пока. А в том что вы путаете объект с классом, и пытаетесь писать код просто внутри класса, а не в рамках какого-нибудь метода.
Код: 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.
public class PGAcc extends javax.swing.JFrame {
private int a=0;
public void aset(int b) {
a=b;
}
public static void main(String [] args) {
	//ссылка на объект класса  PGAcc
        PGAcc var=    new PGAcc();
        //передаете ссылку в конструктор 
        tree t = new tree(var);
//вызываете метод, который использует ссылку на объект класса  PGAcc
        t.test();
	
}
}

public class tree {
private int x;
private PGAcc var;
//конструктор
public tree(PGAcc newVar){
var = newVar;
}
public vois test{
//работаете с объектом через переданную ссылку
var.aset(x); //?????}
}
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435414
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы. Буду разбираться...
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435562
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javapecker, идея понятна, только у меня нет метода в tree, который можно вызвать из PGAcc (//вызываете метод, который использует ссылку на объект класса PGAcc
t.test();)
Значение должно передаваться по событию объекта tree.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435612
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О.Сергей,идея понятна, только у меня нет метода в tree, который можно вызвать из PGAccВам он и не нужен, Blazkowicz выше нарисовал для вас архитектуру.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435691
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем больше читаю учебные cases по ООП тем больше убеждаюсь что оно
вредит процессу обучения.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38435729
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javapecker, Blazkowicz, спасибо! Направление понял.
...
Рейтинг: 0 / 0
Передать строку в поле объекта (экз. класса) из другого объекта по событию
    #38436987
О.Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уррраааа! Заработало!
Только у меня несколько другая схема - из главной формы (Class PGAcc) открывается всплывающая форма (Class tree), в которой находится дерево. Значение выбранной пользователем node дерева передается полю главной формы.
Еше раз Спасибо!
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Передать строку в поле объекта (экз. класса) из другого объекта по событию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]