Java - Grafické rozhraní (40.díl)

Napsal O webu (») 1. 7. 2008 v kategorii Programování, přečteno: 3713×
obrazky/java_logo.png

Komponenty formuláře

Na formuláři jsme vytvořili několik tlačítek, zatím jsme jim však nepřiřadili žádnou akci. V této kapitole se seznámíme s obsluhou událostí v Javě. Jak jsme již v úvodu uvedli, událost vzniká jako důsledek činnosti uživatele, programu či operačního systému.

Listener. Každá komponenta může vyvolat řadu různých událostí. V Javě existují speciální instance, které události zachycují. Nazýváme je listenery, tj. posluchači. Určitý typ listeneru může naslouchat pouze jemu odpovídajícímu typu události, listenery tedy fungují adresně. Zdroje události jsou potomky třídy Java.awt.Event. Instance, která chce přijímat události, se musí nejprve jako posluchač zaregistrovat. Zaregistrovaný objekt musí implementovat rozhraní XXXListener. Lze tak učinit pomocí metody addXXXListener(), kde XXX představuje typ události.

Handler. Událost způsobí zaslání zprávy posluchači. Důsledkem je vyvolání metody ošetřující tuto událost, kterou nazýváme handler. V handleru následně provedeme obsluhu události, tj. nějakým způsobem na ní reagujeme. Princip ošetření události V praxi postupujeme tak, že zjistíme název rozhraní XXX pro listener zvoleného objektu (na základě typu události, kterou budeme ošetřovat). Následně nalezneme jména metod tohoto rozhraní (jejich počet bývá různý dle typu události) a všechny je implementujeme. Metody nemůžeme přetěžovat, pouze předefnovat, smíme je tedy implementovat pouze jednou. Odkaz na instanci třídy, jejíž jméno se shoduje s typem události, předáváme jako formální parametr handleru ošetřujícímu tuto událost.

Seznam metod a rozhraní V následující tabulce uvedeme přehled nejčastěji používaných událostí, rozhraní a jejich metod. Podrobněji se s nimi seznámíme v dalších kapitolách.

Provedení akce, např. stisk tlačítka
ActionEvent ActionListener
actionPerformed()

Změna stavu komponenty
ComponentEvent ComponentListener
componentHidden()
componentMoved()
componentResized()
componentShown()

Detekce přidání/odebrání komponenty
ContainerEvent ContainerListener
containerAdded()
containerRemoved()

Změna zaměření komponenty
FocusEvent FocusListener
focusGained()
focusLost()

Vybrání komponenty
ItemEvent ItemListener
itemStateChanged()

Práce s klávesnicí
KeyEvent KeyListener
keyPressed()
keyReleased()
keyTyped()

Práce s tlačítky myši
MouseEvent MouseListener
mouseClicked()
mouseEntered()
mouseExited()
mousePressed()
mouseReleased()

Pohyb myši
MouseMotionEvent MouseMotionListener
mouseMotionDragged()
mouseMotionMoved()

Práce s rolovacím kolečkem myši
MouseWheelEvent MouseWheelListener
mouseWheelMoved()

Změna stavu okna
WindowEvent WindowListener
windowActivated()
windowClosed()
windowClosing()
windowDeactivated()
windowOpened()

Změna zaměření okna
WindowFocusEvent WindowFocusListener
windowFocusGained()
WindowFocusLost()
Autor: Filip Koval
Štítky: Java
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel tři a čtyři