• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JFrame - wywołanie metody z innej klasy po kliknięciu w przycisk

VPS Starter Arubacloud
0 głosów
1,056 wizyt
pytanie zadane 7 października 2017 w Java przez zygmunt Początkujący (310 p.)

Mam jedną klasę, w której znajduje się kilka metod. Wszystko ładnie działa konsolowo, ale chciałem przerobić to na aplikację okienkową. Stworzyłem JFrame.java z interesującym mnie GUI, a teraz chciałbym, aby po kliknięciu w przycisk wywoływana była metoda z innej klasy (TripleDes). Próbowałem czegoś takiego, ale nie działa:

    private void buttonZaszyfrujActionPerformed(java.awt.event.ActionEvent evt) {                                                
        
        String wiadomosc = textAreaDoZaszyfrowania.getText();
        String zaszyfrowany = TripleDes.zaszyfruj(wiadomosc);
        textAreaPoZaszyfrowaniu.setText(zaszyfrowany);
    }   

 

1 odpowiedź

+1 głos
odpowiedź 7 października 2017 przez Hiskiel Pasjonat (22,830 p.)
Z tego co wiem ta metoda MUSI się nazywać "actionPerformed" (czy tam "ActionPerformed"), nie może być inaczej. Do przycisku dodajesz ActionListenera (nazwa_przycisku.addActionListener(this);).

 Tu masz artyukuł: https://javastart.pl/static/grafika_awt_swing/zdarzenia-przyciski/  nie zwracaj uwagi, że troszkę nie aktualne, wszystko jest ok oprócz "@Override", tego się już nie stosuje.
komentarz 7 października 2017 przez zygmunt Początkujący (310 p.)
edycja 7 października 2017 przez zygmunt
A dobra, zrobiłem :D
komentarz 7 października 2017 przez Hiskiel Pasjonat (22,830 p.)
Działa? :D
komentarz 7 października 2017 przez Hiskiel Pasjonat (22,830 p.)

I dwie rzeczy xD. 1. Ta metoda CHYBA może się nazywać inaczej (teraz nie mam jak sprawdzić). Jak chcesz to sprawdź. 2. Jeśli będziesz miał kilka przycisków to zrób tak:

private void actionPerformed(java.awt.event.ActionEvent evt) {                                                
	Object nazwa = evt.getSource();
	
	if(nazwa==(np.)ExitBtn){
		//zrób coś
	}
	else if(nazwa==(np.)OkBtn)
	{
		//zrób coś
	}

}

 

komentarz 7 października 2017 przez zygmunt Początkujący (310 p.)
Działa :) problem byl przy wywoływaniu funkcji, nie z nazwą metody :)
komentarz 7 października 2017 przez Hiskiel Pasjonat (22,830 p.)
To spq :D

Podobne pytania

0 głosów
1 odpowiedź 1,357 wizyt
0 głosów
1 odpowiedź 648 wizyt
pytanie zadane 24 lipca 2018 w C i C++ przez Krutek Początkujący (330 p.)
0 głosów
1 odpowiedź 434 wizyt

92,454 zapytań

141,262 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...