metoda zwracająca id komponentu (przycisku)
trzcinka - 20-04-2006 02:20
metoda zwracająca id komponentu (przycisku)
witam pytanie dotyczy następującego przypadku:
w obsludze ruchu myszki po najechaniu na przycisk na pulpicie zmieniam kolor tła w następujący sposób
class UchwytRuchuMyszki implements MouseMotionListener { private static JButton klawisz; public void mouseMoved(MouseEvent zdarzenie) { JButton przyciskAktywny = (JButton) zdarzenie.getComponent(); if (klawisz != przyciskAktywny) { przyciskAktywny.setBackground(Color.yellow); if (klawisz != null) { klawisz.setBackground(Color.green); } klawisz = przyciskAktywny; } } public void mouseDragged(MouseEvent zdarzenie) {
} }
teraz pytanie: jaką metodą mogę otrzymać id przycisku na jaki najechałem myszką. Chodzi o identyfikacje przycisku nad którym aktualnie znajduje się myszka
kt
Brzezi - 20-04-2006 02:20
śro, 19 kwi 2006 o 20:56 GMT, trzcinka napisał(a):
> teraz pytanie: jaką metodą mogę otrzymać id przycisku na jaki najechałem > myszką. Chodzi o identyfikacje przycisku nad którym aktualnie znajduje się > myszka
jakbys zajrzal do dokumentacji, to dotarlbys do metody getSource()
Pozdrawiam Brzezi -- [ E-mail: brzezi@enter.net.pl ][ ] [ Ekg: #3781111 ][ ] [ LinuxUser: #249916 ][ ]
trzcinka - 21-04-2006 00:28
> jakbys zajrzal do dokumentacji, to dotarlbys do metody getSource()
ok sprawdzałem wcześniej tę metodę jak i metode toString() ale nie do końca o to mi chodzi. Metody te zwracają obiekt. Ja natomiast pytam o metode która zwracała by konkretną wartość np int numeru przycisku lub inną wartość którą w warunku case mógłbym testować i wykonać konkretne działanie dla ściśle określonego przycisku
trzcinka - 21-04-2006 00:28
Użytkownik "trzcinka" <uu@uu.pl> napisał w wiadomości news:e27gmg$p38$1@nemesis.news.tpi.pl...
> jakbys zajrzal do dokumentacji, to dotarlbys do metody getSource()
ok sprawdzałem wcześniej tę metodę jak i metode toString() ale nie do końca o to mi chodzi. Metody te zwracają obiekt. Ja natomiast pytam o metode która zwracała by konkretną wartość np int numeru przycisku lub inną wartość którą w warunku case mógłbym testować i wykonać konkretne działanie dla ściśle określonego przycisku
Można oczywiście zrodić nasłuchiwacza zdzrzeń dla każdego przycisku ale jeśli jest metoda która zwraca numer przycisku to po co dokładać sobie roboty?
Zbyszek Malec - 21-04-2006 00:28
trzcinka wrote (tak! stara dobra wrotka!):
> Można oczywiście zrodić nasłuchiwacza zdzrzeń dla każdego przycisku ale > jeśli jest metoda która zwraca numer przycisku to po co dokładać sobie > roboty?
Przeczytaj jeszcze raz opis metody getSource.
source = getSource(); if(source == button1) { ... } else if(...
-- Zbigniew Malec Ustronie:104 gg:2756100
Krzysztof Wolny - 21-04-2006 00:28
trzcinka napisał(a):
> ok sprawdzałem wcześniej tę metodę jak i metode toString() ale nie do końca > o to mi chodzi. Metody te zwracają obiekt. Ja natomiast pytam o metode która > zwracała by konkretną wartość np int numeru przycisku lub inną wartość którą > w warunku case mógłbym testować i wykonać konkretne działanie dla ściśle > określonego przycisku > > Można oczywiście zrodić nasłuchiwacza zdzrzeń dla każdego przycisku ale > jeśli jest metoda która zwraca numer przycisku to po co dokładać sobie > roboty?
zrob kilka stalych tekstowych, np:
private static final String BUTTON_CLOSE = "Close"; private static final String BUTTON_REFRESH = "Refresh";
potem te stale przypisujesz buttonom za pomoca metody setActionCommand()
a potem w ifie robisz:
if(event.getActionCommand().equals(BUTTON_CLOSE) {
} else if(event.getActionCommand().equals(BUTTON_REFRESH) { } else { }
-- ================================ Krzysztof Wolny
[ http://rtfm.bsdzine.org ] [ http://tiny.pl/g776 ]
trzcinka - 22-04-2006 00:13
>Przeczytaj jeszcze raz opis metody getSource.
>source = e.getSource(); >if(source == button1)
to zdaje egzamin ale przy kliknięciu na klawisz a mi chodzi o obsługę zdarzenia i metodę która zwraca np nazwę lub jakiś numer identyfikacyjny przy najechaniu myszką na przycisk a nie przyciśnięciu go.
kt
Krzysztof Wolny - 22-04-2006 00:13
trzcinka napisał(a): >> Przeczytaj jeszcze raz opis metody getSource. > >> source = e.getSource(); >> if(source == button1) > > to zdaje egzamin ale przy kliknięciu na klawisz a mi chodzi o obsługę > zdarzenia i metodę która zwraca np nazwę lub jakiś numer identyfikacyjny > przy najechaniu myszką na przycisk a nie przyciśnięciu go.
zaimplementuj np. w panelu MouseMotionListener w zdarzeniu bedziesz dostawal x i y myszy.
a potem tylko juz: Component component = panel.getComponentAt(x, y)
i masz komponent spod x i y
-- ================================ Krzysztof Wolny
[ http://rtfm.bsdzine.org ] [ http://tiny.pl/g776 ]
trzcinka - 22-04-2006 00:13
>Component component = panel.getComponentAt(x, y) >i masz komponent spod x i y
dzięki i to jest chyba to o co mi chodzi
pozdrawiam kt
=?ISO-8859-2?Q?S=B3awek_Garwol?= - 22-04-2006 00:13
Krzysztof Wolny napisał(a): > trzcinka napisał(a): > > zaimplementuj np. w panelu MouseMotionListener > w zdarzeniu bedziesz dostawal x i y myszy. > > a potem tylko juz: > Component component = panel.getComponentAt(x, y) > > i masz komponent spod x i y
A żeś Krzysiu walnął z grubej rury. Każdy ruch muszą generować będzie tyyyyle zdarzeń że...
Do knefli lepiej dodać zwykłego MouseListenera. Metiody mouseEntered i mouseExited załatwiają sprawę.
-- SlawekG
Krzysztof Wolny - 25-04-2006 00:03
Sławek Garwol napisał(a): > Krzysztof Wolny napisał(a): >> trzcinka napisał(a): >> >> zaimplementuj np. w panelu MouseMotionListener >> w zdarzeniu bedziesz dostawal x i y myszy. >> >> a potem tylko juz: >> Component component = panel.getComponentAt(x, y) >> >> i masz komponent spod x i y > > A żeś Krzysiu walnął z grubej rury. Każdy ruch muszą generować będzie > tyyyyle zdarzeń że... > > Do knefli lepiej dodać zwykłego MouseListenera. Metiody mouseEntered i > mouseExited załatwiają sprawę.
to prawda :) zreszta czy nie jest tak ze mousemotionlitener dziala tylko na komponent ktory jest 'najbardziej na gorze' ?
-- ================================ Krzysztof Wolny
[ http://rtfm.bsdzine.org ] [ http://tiny.pl/g776 ]
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
postgresql Select count(*) czy raczej Select count(ID)
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
[PGSQL] Funkcje =?ISO-8859-2?Q?zwracaj=B1ce_=27rowset=27_i_?==?ISO-8859-2?Q?tabele_tymczasowe?=
Zwracanie wartości, z funkcji, w funkcji [Js, Ajax]
[MSSQL] Jak uj?c w tabeli [ID usera] (zamiast tekstu) zuwierzytelniania NT?
[mysql] =?ISO-8859-2?Q?unikalno=B6=E6_pola_Id?=
[MySql] Czy można ustawić pole ID tak aby liczyło się od wart..
[mysql] Jak pobrać numer id ostatnio dodanego rekordu ?
jakie zapytanie w mysql aby wybierac wielokrotnie rozne id
zanotowane.pldoc.pisz.plpdf.pisz.pltejsza.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|