powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Ткните новичка что не так
8 сообщений из 8, страница 1 из 1
Ткните новичка что не так
    #34173183
VicZai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно передать параметры между фрэймами. Создал вот такой класс
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 public   class  Param {
     private  String param;

     public  String getParam() {
         return  nameUser;
    }

     public   void  setParam(String vnameUser) {
        nameUser = vnameUser;
    }
}

В первом фрэйме все работает

Код: plaintext
1.
2.
3.
4.
5.
6.
     private   void  btnOK_actionPerformed(ActionEvent e) {
        Param a =  new  Param();  
        Param.setParam( this .txtParam.getText());

         this .txtParam2.setText(a.getParam());
    }

А вот как сделать чтоб видно было этот параметр во втором фрэйме не совсем понятно
...
Рейтинг: 0 / 0
Ткните новичка что не так
    #34173188
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фрейм откуда? swing, web?
...
Рейтинг: 0 / 0
Ткните новичка что не так
    #34173189
АСУ ТПшник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как только научитесь выражать свои мысли более понятно, так сразу ответы и посыплются (может быть :))
...
Рейтинг: 0 / 0
Ткните новичка что не так
    #34173192
VicZai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да формы Swing.
Как правильно установить параметр param в классе Param в одной форме и получить его в другой форме.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 public   class  Param {
     private  String param;

     public  String getParam() {
         return  param;
    }

     public   void  setParam(String vnameUser) {
        param = vnameUser;
    }
}
...
Рейтинг: 0 / 0
Ткните новичка что не так
    #34173236
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пусть есть главный класс Proga с методом main (именно он и запускается из коммандной строки), добавляем в него поле

Код: plaintext
1.
String pole;
пишем геттер и сеттер, теперь при создании любой панели, любого класса итп в конструкторе передаем главный класс:
Код: plaintext
1.
2.
3.
Proga proga =  this ;
Foo frame1  =  new  Foo(proga)
Foo2 frame2 =  new  Foo(proga);
соответственно,в конструкторе параметр присваиваем полю класса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 class  Foo {

    private  Proga proga;
    public  Foo(Proga proga) {
       this .proga = proga;
   }
}

теперь в фрейме 1:

Код: plaintext
1.
2.
3.
4.
5.
....addActionListener(...) {
   public   void  actionPerformed(...) {
     proga.setFoo(foo);
  }
}

ну и таким же способом получаем параметр во 2ом фрейме.

это один изпростейших методов, не самый эффективный и удобный... можно, например, Proga сделать синглтоном (данный подход используется в JSF для FacesContext), ну и много чего еще можно выдумать. На самом деле ничего сложного тут нет, я вообще с трудом представляю откуда такой вопрос может возникнуть
...
Рейтинг: 0 / 0
Ткните новичка что не так
    #34173238
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в последнем коде конечно не setFoo, а setPole... пиво пью-с, знаете ли :)
...
Рейтинг: 0 / 0
Ткните новичка что не так
    #34178821
roflrockers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а не вариант передавать сам фрейм через конструктор во второй фрейм?

2 фрейм:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 public  frame2  extends  JFrame{
   Param params;

      frame2(Param params){
           this .params=params;

      }
//-- и тут гоняйте куда надо что надо, только при создании сего фрейма передавайте ему обьект етот
}


может я что не так понял? :(
...
Рейтинг: 0 / 0
Ткните новичка что не так
    #34178828
roflrockers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И если моя мысля была права, то зачем сколько мучений, если класс Param будет только обьектом данных?
не проще ли:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 public   class  Param{

 public  String firstname;
 public  String lastname;
 public  String age;

 public  String toString(){
     return  lastname;
}


}

удобней, понятней, и ненадо гетов/путов, просто заполняете обьект по мере необходимости в любом Фрейме, и тягаете его куда вам надо.
Можно также передавать фрейм owner а не сам обьект, и в нём реализован метод getParam / getLastname к примеру, если дочерних окон много у родителя, а у чилда ставить к примеру

owner.setParam(param);
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Ткните новичка что не так
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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