Thread View: pl.comp.lang.java
7 messages
7 total messages
Started by Jedeus
Tue, 11 Oct 2011 10:04
Jak przechwycić zdarzenie
Author: Jedeus
Date: Tue, 11 Oct 2011 10:04
Date: Tue, 11 Oct 2011 10:04
9 lines
1973 bytes
1973 bytes
Witam serdecznie Grupowiczów. Proszę o pomoc w rozwiązaniu następującego problemu. Mam utworzoną klasę okna, w którym oprócz innych elementów znajdują się przyciski. W głównej części programu tworzę obiekt tej klasy (okno = new Okno()) i go wyświetlam (Okno.setVisible(true)) jako okno modalne. W jaki sposób mogę przechwycić zdarzenie naciśnięcia buttona w oknie i obsłużyć je w głównej części programu? W jaki sposób rozpoznać, który z buttonów został naciśnięty? Za wszelką pomoc z góry dziękuję. Pozdrawiam Andrzej.
Re: Jak przechwycić zdarzenie
Author: Przemysław Chmielewski
Date: Tue, 11 Oct 2011 10:39
Date: Tue, 11 Oct 2011 10:39
17 lines
2162 bytes
2162 bytes
On 11 Paź, 12:04, Jedeus <jed...@gmail.com> wrote: > Witam serdecznie Grupowiczów. > Proszę o pomoc w rozwiązaniu następującego problemu. Mam utworzoną > klasę okna, w którym oprócz innych elementów znajdują się przyciski. W > głównej części programu tworzę obiekt tej klasy (okno = new Okno()) i > go wyświetlam (Okno.setVisible(true)) jako okno modalne. W jaki sposób > mogę przechwycić zdarzenie naciśnięcia buttona w oknie i obsłużyć je w > głównej części programu? W jaki sposób rozpoznać, który z buttonów > został naciśnięty? Za wszelką pomoc z góry dziękuję. Prostym rozwiązaniem wydaje się przekazanie callbacka i odpalenie go w zdarzeniu obsługującym kliknięcie tego przycisku. > Pozdrawiam Andrzej. Pozdrawiam
Re: Jak przechwycić zdarzenie
Author: Jedeus
Date: Tue, 11 Oct 2011 12:32
Date: Tue, 11 Oct 2011 12:32
25 lines
2435 bytes
2435 bytes
On 11 Paź, 12:39, Przemysław Chmielewski <przemek...@gmail.com> wrote: > On 11 Paź, 12:04, Jedeus <jed...@gmail.com> wrote: > > > Witam serdecznie Grupowiczów. > > Proszę o pomoc w rozwiązaniu następującego problemu. Mam utworzoną > > klasę okna, w którym oprócz innych elementów znajdują się przyciski. W > > głównej części programu tworzę obiekt tej klasy (okno = new Okno()) i > > go wyświetlam (Okno.setVisible(true)) jako okno modalne. W jaki sposób > > mogę przechwycić zdarzenie naciśnięcia buttona w oknie i obsłużyć je w > > głównej części programu? W jaki sposób rozpoznać, który z buttonów > > został naciśnięty? Za wszelką pomoc z góry dziękuję. > > Prostym rozwiązaniem wydaje się przekazanie callbacka i odpalenie go > w > zdarzeniu obsługującym kliknięcie tego przycisku. > > > Pozdrawiam Andrzej. > > Pozdrawiam Witam jeszcze raz. Czy mogę prosić o jakiś przykład, bo szczerze powiem, że trochę się pogubiłem. Z góry dziękuję. Andrzej
Re: Jak przechwycić zdarzenie
Author: Przemysław Chmielewski
Date: Tue, 11 Oct 2011 19:12
Date: Tue, 11 Oct 2011 19:12
36 lines
2161 bytes
2161 bytes
On 11 Paź, 14:32, Jedeus <jed...@gmail.com> wrote:
> Witam jeszcze raz.
> Czy mogę prosić o jakiś przykład, bo szczerze powiem, że trochę się
> pogubiłem.
> Z góry dziękuję.
> Andrzej
Na szybko i tylko zeby pokazać koncepcje.
interface Callback {
void doSomething();
}
class ParentWindow {
/// gdzie wyswietlasz okn
ChildWindow w = new ChildWindow(new CallbackImpl());
}
class CallbackImpl implments Callback {
implementacja callbacka
}
class ChildWindow {
Button b;
ChildWindow(Callback callback) {
this.callback = callback;
b.addListener(...) {
callback.doSomething();
}
}
}
Pozdrawiam
Re: Jak przechwycić zdarzenie
Author: Andrzej
Date: Wed, 12 Oct 2011 09:38
Date: Wed, 12 Oct 2011 09:38
55 lines
2968 bytes
2968 bytes
W dniu 2011-10-11 21:12, Przemysław Chmielewski pisze:
> On 11 Paź, 14:32, Jedeus<jed...@gmail.com> wrote:
>> Witam jeszcze raz.
>> Czy mogę prosić o jakiś przykład, bo szczerze powiem, że trochę się
>> pogubiłem.
>> Z góry dziękuję.
>> Andrzej
>
> Na szybko i tylko zeby pokazać koncepcje.
>
> interface Callback {
> void doSomething();
> }
>
> class ParentWindow {
>
> /// gdzie wyswietlasz okn
> ChildWindow w = new ChildWindow(new CallbackImpl());
>
> }
>
> class CallbackImpl implments Callback {
> implementacja callbacka
> }
>
> class ChildWindow {
> Button b;
> ChildWindow(Callback callback) {
> this.callback = callback;
> b.addListener(...) {
> callback.doSomething();
> }
> }
>
> }
>
> Pozdrawiam
Witam raz jeszcze.
Szukałem informacji w internecie ale to co znalazłem jeszcze bardziej
zaciemniło obraz tego wszystkiego. Staram się jakoś zrozumieć i
dostosować do własnych potrzeb powyższy kod ale jakoś to mi strasznie
opornie idzie ;-)
Rozumiem, że interface Callback jest deklaracją interfejsu z metodami.
class ParentWindow jest deklaracją klasy okna nadrzędnego, w którym jest
wywoływane okno podrzędne. Kłopot jest w tym, że mam jeden konstruktor z
parametrami. Nie wiem czy mogę dodać jeszcze jeden parametr w
konstruktorze typu CallbackImpl (pewnie tak). class CallbackImpl
implments Callback jest klasą, w której deklaruję metody interfejsu.
Innymi słowy tworzę ciało metod, które zostały zadeklarowane przy
deklaracji interfejsu. Z racji tego, że piszę aplikację w Netbeans'ie
nie wiem za bardzo jak poradzić sobie z deklaracją nowego słuchacza i
jaki to miałby być słuchacz.
To wszystko co rozumiem i czego pojąć nie mogę ;-) Będę wdzięczny za
dalszą pomoc.
Pozdrawiam Andrzej.
Re: Jak przechwycić zdarzenie
Author: Przemysław Chmielewski
Date: Wed, 12 Oct 2011 17:02
Date: Wed, 12 Oct 2011 17:02
11 lines
2076 bytes
2076 bytes
On 12 Paź, 11:38, Andrzej <lin...@poczta.onet.pl> wrote: > W dniu 2011-10-11 21:12, Przemysław Chmielewski pisze: [ciach] > Z racji tego, że piszę aplikację w Netbeans'ie > nie wiem za bardzo jak poradzić sobie z deklaracją nowego słuchacza i > jaki to miałby być słuchacz. Dawno w swingu nie pisałem. Pod klika podpina się addActionListener. Na tej stronie http://download.oracle.com/javase/tutorial/uiswing/events/actionlistener.html znajdziesz kilka tutoriali, które mogą pomóc. Pozdrawiam
Re: Jak przechwycić zdarzenie
Author: Andrzej
Date: Thu, 13 Oct 2011 17:55
Date: Thu, 13 Oct 2011 17:55
15 lines
1902 bytes
1902 bytes
W dniu 2011-10-12 19:02, Przemysław Chmielewski pisze: > On 12 Paź, 11:38, Andrzej<lin...@poczta.onet.pl> wrote: >> W dniu 2011-10-11 21:12, Przemysław Chmielewski pisze: > [ciach] >> Z racji tego, że piszę aplikację w Netbeans'ie >> nie wiem za bardzo jak poradzić sobie z deklaracją nowego słuchacza i >> jaki to miałby być słuchacz. > Dawno w swingu nie pisałem. Pod klika podpina się addActionListener. > Na tej stronie http://download.oracle.com/javase/tutorial/uiswing/events/actionlistener.html > znajdziesz kilka tutoriali, które mogą pomóc. > > Pozdrawiam Witam Chyba załapałem o co chodzi :-) Serdecznie dziękuję za pomoc. Pozdrawiam Andrzej
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads