Article View: pl.comp.lang.java
Article #141929Re: Organizacja dostępu do klasy z kilku klas JPanel
From: Pawel Stawicki
Date: Wed, 05 Nov 2008 18:38
Date: Wed, 05 Nov 2008 18:38
33 lines
2480 bytes
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-mailReferences:
<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