Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Передать данные в открытое окно


Автор: Anime 9.6.2008, 00:24
Вот представим себе:
Вы открыли окно в этом окне есть кнопка(например выбрать из списка) и таблица вы нажимаете на кнопку и вам открывается ещё одно окно с таблицей в нем вы вибираете что то и жмете добавить и ваш выбор показывается в уже созданном окне где вы нажали на кнопку(выбрать из списка)
Вот как это можно осуществить передачу данных в уже созданное окно и таблицу

Автор: Maksym 9.6.2008, 00:35
Anime
Речь о web или десктопном приложении?

Автор: Anime 9.6.2008, 11:32
десктоп

Автор: LSD 9.6.2008, 11:40
Пишешь метод:
Код

public Result showAnWindow(Param1 p1, Param2 p2,...)

и передаешь все необходимые параметры.

Автор: Anime 9.6.2008, 14:28
Вот в окне куда будут передаваться данные пишу
Код

import javax.naming.spi.DirStateFactory.Result;
/..
public Result showAtWindow(String str) {
        this.str = str;

        //System.out.println(str);
        //jTextField1.setText(str);
        return null;
    }

Откуда будут брать данные пишу
Код

jmAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new AddClient().showAtWindow("SSSSSOOOOOOOOOOOSSSS");
}
});


передается null ^)

Автор: LSD 9.6.2008, 17:29
Куда null передается?

Автор: Anime 9.6.2008, 18:43
а вот ничего если написал
new AddClient().showAtWindow("SSSSSOOOOOOOOOOOSSSS");
По идеи я создаю новое окно и внем пишу вот это сообщение, но мне надо в уже имеющееся окно передать данные

в поле jTextField1.setText(str); вот эта строка "SSSSSOOOOOOOOOOOSSSS" вообще не передается

там где написано return null там я незнаю что возвращать и поставил null.

Добавлено через 4 минуты и 46 секунд
а да null будет передаваться если в конструкторе окно с кнопкой (Выбрать из списка написать) System.out.println(str);
и если выбрать из списка (т.е. из 2 окна) что нибудить но передаваться будет null

Добавлено через 5 минут и 37 секунд
если моя ахинея не понятно могу нарисовать что мне надо smile

Автор: LSD 9.6.2008, 18:57
Цитата(Anime @  9.6.2008,  19:43 Найти цитируемый пост)
По идеи я создаю новое окно и внем пишу вот это сообщение, но мне надо в уже имеющееся окно передать данные

Сохрани ссылку на это окно, потом перед показом вызови у него метод setXXX() где и передай нужные значения. В чем трудности-то?


Цитата(Anime @  9.6.2008,  19:43 Найти цитируемый пост)
там где написано return null там я незнаю что возвращать и поставил null.

Если тебе не надо ничего возвращать, поставь в объявлении метода void. Я просто для примера это указал.

Автор: Anime 10.6.2008, 12:17
Трудность сохранить ссылку, это как?

Добавлено через 1 минуту и 51 секунду
я показывать ничего не хочу я хочу в уже показанное передать данные

Автор: AntonSaburov 10.6.2008, 12:40
Цитата(Anime @  10.6.2008,  12:17 Найти цитируемый пост)
Трудность сохранить ссылку, это как?

Вновь открываемое окно может иметь мембера того же класса, что и окно, которое его открывает. Вот и сохраняй. А перед закрытием второго окна через ссылку на первое можно установить необходимые параметры.

Автор: LSD 10.6.2008, 12:41
Цитата(Anime @  10.6.2008,  13:17 Найти цитируемый пост)
Трудность сохранить ссылку, это как?

Создаешь поле которому присваиваешь этот объект.

Автор: Anime 10.6.2008, 15:06
 smile  smile  smile я непонимаю

Автор: AntonSaburov 10.6.2008, 15:12
Код

public class FirstForm extends JFrame
{
   public void setField1(String f)
   {
      // Метод ля установки какого-то поля
   }

   public void showSecondForm()
  {
     SecondForm sf = new SecondForm();
     sf.setOwner(this);
     sf.show();
  }
}


Код

public class SecondForm extends JFrame
{
   public FirstForm owner;

   public void setOwner(FirstForm owner)
   {
     this.owner = owner;
   }
}


Теперь в классе SecondForm ты можешь обращаться к форме FirstForm через член класса owner. Например - owner.setField("HI");

Автор: Anime 10.6.2008, 15:21
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)