[java] Komunikacja dwóch Frames

0

Witam!

Mam następujący problem:
Mam w Jbuilderze dwie Frames ;) bede mówił formatki... Problem polega na tym że mogę pobrać dane np z label1 i wstawić np ten tekst do labela na formatce drugiej. Ale nie mogę tego zrobić w drugą stronę.. czyli pobrać tekst z label1 na formatce drugiej i umieścić go na labelu na formatce pierwszej. Ktoś kuma o co mi biega?

Dokładniej: hyh Pisze aplikację łączącą się z bazą danych. Na pierwszej formatce mam database1, jdbTable, querrydataset i inne komponenty.. przycisk z formatki pierwszej odpala formatkę drugą.. na której są textfieldsy i przycisk.. jest to oknno do wyszukiwania w bazie... Chciałem zrobić coś takiego że ktoś sobie wpisze w textfields dane i po wciśnieciu buttona program połączy się z bazą, wykona selecta i przekaże go do querrydataset na formatce pierwszej i do jbtable.. no i to odświeżenie tabeli włąsnie nie działa.

Mam nadzieję że ktoś się wczytął i zrozumiał ;] thanks ;]

0

Widze ze wszyscy skumali o co biega i zostawili masę pomocnych odpowiedzi xD Co wy wszyscy robicie jednookienkowe aplikacje?o.O

0

Musisz przekazać drugiej formatce te elementy, które mają być przez nią edytowane. W drugiej formatce piszesz metodę public void przekazElementy(JLabel etykieta, JTextField poleTekstowe). Po utworzeniu obiektów na pierwszej formatce tworzysz drugą, a następnie przekazujesz wybtrane obiekty np za pomoca metody przekazElementy. Jeśli chcesz coś zmienić na pierwszej formie za pomocą drugiej operujesz na przekazanych obiektach.

0

A mógłbyś dać jakiś przykład? i skąd ta pierwsza formatka bedzie wiedziała co się stało na drugiej? z góry dziękuję ;]

0

Pierwsza formatka będzie bezpośrednio modyfikowana przez drugą z pośrednictwem przekazanych referencji.

pulic class Form1 extends JFrame {

prevate JLabel etykieta;
prevate JTextField poleTxt;
private Form2 form2;

   public Form1() {
      //tworzenie komponentów formatki
      form2 = new Form2(etykieta, poleTxt);
   }
}

pulic class Form2 extends JFrame {
prevate JLabel etykietaForm1;
prevate JTextField poleTxtForm1;

public Form2(JLabel etykietaForm1, JTextField poleTxtForm1) {
//tworzenie komponentów formatki
this.etykietaForm1 = etykietaForm1;
this.poleTxtForm1 = poleTxtForm1;

}
}

Wszystkie operacje wykonane na etykietaForm1 lub poleTxtForm1 przez Form2 będą widoczne na Form1
np. etykietaForm1.setText("Nowy tekst");

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.