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

Wyświetlenie komunikatu w oknie przy użyciu innej klasy

Object Storage Arubacloud
0 głosów
285 wizyt
pytanie zadane 13 kwietnia 2016 w Java przez piekarnik Użytkownik (720 p.)

Witam mam następujący problem i już trochę nad nim siedzę.
Mam w jednej klasie stworzone okno z przyciskiem i polem tekstowym, chciałbym żeby wyświetlił się komunikat w tym polu po naciśnięciu przycisku - jednak samo zdefiniowanie zachowania przycisku ma być w innym pliku.

Mam klasę Okno, w niej String S i pole tekstowe POLE
Tworzę też nową klasę przy naciśnięciu:
button.addActionListener(new ButtonAction());

Teraz co mam napisać w klasie ButtonAction? To co mam nie działa.

public class ButtonAction extends Okno implements ActionListener {
	
	@Override
	public void actionPerformed(ActionEvent e) {
		POLE.setText(S.GetHex());
	}
}

 

2 odpowiedzi

0 głosów
odpowiedź 13 kwietnia 2016 przez MCPlayG Użytkownik (840 p.)
wybrane 13 kwietnia 2016 przez piekarnik
 
Najlepsza
  1. http://www.javatpoint.com/java-naming-conventions - proszę ciebie, korzystaj z konwencji nazewnictwa Javy. Dodam, że nazwy muszą być w języku angielskim. :)
  2. Roszerzając (extends'ując) klasę Okno nie masz dostępu do okna, w którym chcesz zastosować akcję. Usuń extends Okno.

    Jedyne rozwiązanie, jakie widzę to podanie w konstruktorze instancji klasy Okno, a w tej klasie zrobienie getterów, lub ustawienie zmiennych z elementami okna na publiczne (lub protected, gdy są w tym samym package).
komentarz 13 kwietnia 2016 przez ReksetoDev Gaduła (4,530 p.)
getteru settery w oknie i przeciazyc ta metode najlepiej zeby przyjmowala okno(musi) :) mcplayg nie ucz z public bo potem 0 hermetyzacji jest.
0 głosów
odpowiedź 13 kwietnia 2016 przez bumpMind Gaduła (4,260 p.)
Z poziomu klasy ButtonAction nie masz dostępu do pola tekstowego które chcesz zmienić, najprostszym sposobem było by przekazanie pola tekstowego jako argument np konstruktora klasy ButtonAction, może nie jest to zbyt estetyczne ale napewno zadziała, koniecznie implementacja zachowania przycisku musi być w innym pliku?
komentarz 13 kwietnia 2016 przez piekarnik Użytkownik (720 p.)
No właśnie na tym polega zadanie, że implementacja przycisku ma być w innym pliku - dodam, że w oknie jest kilka przycisków - a tylko jeden ma być w innym pliku.
1
komentarz 13 kwietnia 2016 przez bumpMind Gaduła (4,260 p.)
Czyli domyślam się że dany przycisk będzie robił coś więcej niż ustawiał tekst, można zatem w klasie ActionButton dorzucić metodę która będzie pobierała pole tekstowe które chcesz edytować. Wtedy kolejno utworzysz obiekt klasy ActionButton dalej wywołasz metodę np ustawPoleTekstowe której argumentem będzie dane pole a na koniec podepniesz ten obiekt jako ActionListener do przycisku

Podobne pytania

+2 głosów
1 odpowiedź 745 wizyt
0 głosów
1 odpowiedź 537 wizyt
pytanie zadane 8 listopada 2017 w PHP przez euforia Nowicjusz (180 p.)
0 głosów
0 odpowiedzi 112 wizyt

92,551 zapytań

141,399 odpowiedzi

319,530 komentarzy

61,937 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...