Wywołanie akcji w drugim oknie - SWING

0

Witam!
Mam dwa okienka, (nazwijmy roboczo Okno1 i Okno2), Okno1 wywołuje odpowiednim przyciskiem Okno2, w tym Oknie2 robie cos tam i chcialbym w momencie jak klikne przycisk w Okno2, wywołać przycisk w Oknie1. Próbowałem paru sposobów, m.in. z do.Click(), ale to działało fajnie dla przycisków w ramach jednego okna. Nie mam pojęcia jak z innego okna wywołać akcje w drugim.
Nie wiem czy jasno wytłumaczyłem :D

Może poglądowy kod coś ułatwi:

public class secondFrame extends JFrame {

	/*...*/
		public secondFrame() {
		JButton btnLoadTable = new JButton("Wczytaj baze");
		btnLoadTable.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				try{
					/* Cialo metody */
					
					
				}catch(Exception e){
					e.printStackTrace();
				}
				
			}
		});
public class EditFrame extends JFrame {

	public EditFrame() {

		
		JButton btnZmien = new JButton("Zmie\u0144");
		btnZmien.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try{

				// Tutaj chciałbym wywołac akcje przycisku  z secondFrame
				
				pst.close();
				} catch(Exception err2){
					err2.printStackTrace();
				}
			}
		});
0

W konstruktorze klasy EditFrame przekaż referencję do klasy SecondFrame.

0

Ok, utworzyłem w konstruktorze referencje do klasy, teraz jak wywołać ten przycisk?
Próbowałem np. zadeklarować zmienną* btnLoadTable* poza konstruktorem w klasie secondFrame i w EditFrame zrobić sF.btnLoadTable.doClick(), nie działało(tzn nie wywala błędu,ale nie wykonuje), próbowałem tez coś z sF.action, ale też cos nie trybiło. ;/

0

W klasie SecondFrame przycisk (btnLoadTable) już istnieje. Jeśli chcesz coś robić z tym przyciskiem w innej klasie, to on nie może być zmienna lokalną. Zmień kod:

public class secondFrame extends JFrame {
    JButton btnLoadTable; 
    /*...*/
        public secondFrame() {
        btnLoadTable = new JButton("Wczytaj baze");

Teraz sf.btnLoadTable.doClick(); zadziała.

1 użytkowników online, w tym zalogowanych: 0, gości: 1