🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #141929

Re: Organizacja dostępu do klasy z kilku klas JPanel

#141929
From: Pawel Stawicki
Date: Wed, 05 Nov 2008 18:38
33 lines
2480 bytes
Listener to generalny sposób na powiadomienie jakiegoś obiektu o 
zdarzeniu w innym obiekcie, ale tak żeby obiekty te nie były zbyt mocno 
związane.

Wyobraźmy sobie, że chcemy w TableManagerze otrzymywać informacje o 
zdarzeniach w polu tekstowym (TextField). Czyli TextField musi po każdym 
wystąpieniu zdarzenia informować o nim TableManagera. Czyli trzebaby do 
pola tekstowego przekazywać obiekt TableManagera:

textField.setTableManager(tableManager);

Nie jest to dobre rozwiązanie, bo takiego pola tekstowego nie da się już 
wykorzystać w innej aplikacji, gdzie chcielibyśmy zamiast TableManagera 
przekazywać jakiś inny obiekt.

Dlatego właśnie możemy wykorzystać listener.

textField.addListener(textFieldListener);

textFieldListener to obiekt implementujący interface listenera. Dzięki 
temu możemy do pola tekstowego przekazać dowolny obiekt, byleby tylko 
implementował ten interface. Interface może mieć metodę np.

void textChanged(String oldText, String newText);

i ta metoda będzie wywołana przez pole tekstowe po zmianie tekstu. 
Zaimplementować ją można dowolnie, np. tak żeby odświeżała jakąś 
tablicę. Albo wysyłała maila, albo zapisywała coś do bazy - dowolnie. Z 
punktu widzenia obiektu TextField jest to obojętne.

Pozdrawiam
Paweł Stawicki
http://pawelstawicki.blogspot.com
Technical Details
Message-ID: <gesp78$ed$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
References: <51fa82a2-2a20-43b4-84c7-ab363bff6b82@q9g2000hsb.googlegroups.com> <ge4iq0$itl$1@news.onet.pl> <a31d077a-5091-48ea-9fd4-8af691b8f92a@p59g2000hsd.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail
From: Pawel Stawicki <pawelstawicki@[cut_this_out]poczta.onet.pl>
Newsgroups: pl.comp.lang.java
Subject: Re: Organizacja dostępu do klasy z kilku klas JPanel
Date: Wed, 05 Nov 2008 19:38:32 +0100
Organization: Onet.pl
Lines: 33
Message-ID: <gesp78$ed$1@news.onet.pl>
References: <51fa82a2-2a20-43b4-84c7-ab363bff6b82@q9g2000hsb.googlegroups.com>  <ge4iq0$itl$1@news.onet.pl> <a31d077a-5091-48ea-9fd4-8af691b8f92a@p59g2000hsd.googlegroups.com>
NNTP-Posting-Host: eij92.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1225910312 461 83.21.125.92 (5 Nov 2008 18:38:32 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Wed, 5 Nov 2008 18:38:32 +0000 (UTC)
X-Sender: BvUqzqqpbUkX7dx19wLcmVavBVx4XHAGVGMKDMdgpHQ=
In-Reply-To: <a31d077a-5091-48ea-9fd4-8af691b8f92a@p59g2000hsd.googlegroups.com>
User-Agent: Thunderbird 2.0.0.17 (X11/20080925)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit