Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Передать строку в поле объекта (экз. класса) из другого объекта по событию / 19 сообщений из 19, страница 1 из 1
18.10.2013, 16:11:40
    #38433100
О.Сергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
Как в java передать текущее значение некой переменной из метода события в другом объекте? Т.е. есть строковая переменная, полученная выбором ветки в дереве ( Экземпляр класса JTree). Значение этой переменной надо передать полю другого объекта - экз.класса JFrame. Просьба помягче, я с java й недели 3.
...
Рейтинг: 0 / 0
18.10.2013, 16:14:07
    #38433107
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
Это к Java отношения не имеет. Нужно просто выкинуть GUI дизайнер и сначала поучиться писать код. Чтобы было очевидно, что если нужно положить значение в поле объекта, то нужно иметь где-то ссылку на этот объект.
...
Рейтинг: 0 / 0
18.10.2013, 16:18:28
    #38433114
О.Сергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
Вопрос как раз в том, как поиметь ссылку на поле объекта.
...
Рейтинг: 0 / 0
18.10.2013, 16:24:32
    #38433121
О.Сергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
О.СергейВопрос как раз в том, как поиметь ссылку на поле объекта. не создавая нового объекта
...
Рейтинг: 0 / 0
18.10.2013, 16:24:46
    #38433122
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
О.СергейВопрос как раз в том, как поиметь ссылку на поле объекта.
- Передать через конструктор
- Передать через setter-метод
- Передать через статическое поле
- Не передавать ссылку напрямую, использовать паттерн Observer для более слабой свяности и таким образом передать ссылку через анонимный\вложеный класс.
- Использовать биндинг и MVVM
...
Рейтинг: 0 / 0
18.10.2013, 16:26:23
    #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
18.10.2013, 16:35:38
    #38433152
О.Сергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
Blazkowicz, спасибо, но через сеттер не получается, буду дальше копать.
...
Рейтинг: 0 / 0
18.10.2013, 16:37:45
    #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
21.10.2013, 11:48:57
    #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
21.10.2013, 12:19:53
    #38435291
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
О.Сергей,
у вас нет объекта класса PGAcc, чтобы в нем устанавливать какие-то свойства. создайте сначала объект этого класса, и передайте ссылку в конструктор класса tree например.
...
Рейтинг: 0 / 0
21.10.2013, 12:53:30
    #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
21.10.2013, 13:05:26
    #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
21.10.2013, 13:09:11
    #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
21.10.2013, 13:21:24
    #38435414
О.Сергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
Спасибо за ответы. Буду разбираться...
...
Рейтинг: 0 / 0
21.10.2013, 14:32:29
    #38435562
О.Сергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
javapecker, идея понятна, только у меня нет метода в tree, который можно вызвать из PGAcc (//вызываете метод, который использует ссылку на объект класса PGAcc
t.test();)
Значение должно передаваться по событию объекта tree.
...
Рейтинг: 0 / 0
21.10.2013, 14:58:47
    #38435612
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
О.Сергей,идея понятна, только у меня нет метода в tree, который можно вызвать из PGAccВам он и не нужен, Blazkowicz выше нарисовал для вас архитектуру.
...
Рейтинг: 0 / 0
21.10.2013, 15:34:33
    #38435691
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
Чем больше читаю учебные cases по ООП тем больше убеждаюсь что оно
вредит процессу обучения.
...
Рейтинг: 0 / 0
21.10.2013, 15:53:16
    #38435729
О.Сергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
javapecker, Blazkowicz, спасибо! Направление понял.
...
Рейтинг: 0 / 0
22.10.2013, 14:41:23
    #38436987
О.Сергей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать строку в поле объекта (экз. класса) из другого объекта по событию
Уррраааа! Заработало!
Только у меня несколько другая схема - из главной формы (Class PGAcc) открывается всплывающая форма (Class tree), в которой находится дерево. Значение выбранной пользователем node дерева передается полю главной формы.
Еше раз Спасибо!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Передать строку в поле объекта (экз. класса) из другого объекта по событию / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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