/** A Grafikus felhasználói felület fejezet példaprogramjai.
Egy program futtatásakor rendszerint valamilyen módon biztosítani kell a felhasználóval történő kommunikációt. Legegyszerűbb esetben elegendő, ha csak az indításkor adunk meg paramétereket és azután programunk már nem igényel további beavatkozást. Tipikusan ilyen feladat lehet például különböző számítások elvégeztetése vagy fájlok feldolgozása/előállítása: ekkor a {@link java.io} csomag felhasználásával kényelmesen megoldható a szükséges adatok átadása és átvétele. Más esetekben pedig egyszerűen nincs is rá igény, hogy a program közvetlenül emberi felhasználókkal lépjen kapcsolatba: a szerver típusú alkalmazások ugyanis csak más programok, azaz kliensei kéréseit szolgálják ki, a felhasználóval való kommunikáció megvalósítása ilyenkor csakis a kliens program feladata.

A programok nagy részével azonban a felhasználó interaktív módon kerül kapcsolatba, ami azt jelenti, hogy a felhasználó és a program között (inter-) tulajdonképpen egy élő (aktív) párbeszéd alakul ki: a felhasználó adatokat ad meg, majd utasításokat ad ezen adatokkal történő műveletek elvégzésére, melyek eredményét a program visszajelzi, esetleg további adatokat kér be, vagy választási lehetőségeket kínál fel. Ezen működési mód megvalósítható karakteres kommunikációval is, ami valóban hasonlít egy párbeszéd lefolyására, de leggyakrabban mégis egy grafikus felhasználói felületen keresztül történik.

Tartalomjegyzék a hivatkozott referenciákkal és felhasznált képekkel:
GUI
Grafikus komponensek
JFC
Az AWT megvalósítása
  • Referenciák:
    • AWT
    • A {@link java.awt} csomaghierarchia
A felhasználói felület életciklusa
A {@link elte.java2_utikalauz5.gui.FaktorialisGUI} példaprogram
Felület felépítése
  • Képek:
    • A {@code FaktorialisGUI} példaprogram felhasználói felülete
Felület használata
Felület bezárása
Eseményvezérelt programozás
Alacsonyszintű események
  • Referenciák:
    • A {@link java.awt.event.ComponentEvent} osztály
Beviteli események
  • Referenciák:
    • Az {@link java.awt.event.InputEvent} osztály
Billentyűzet események
  • Referenciák:
    • A {@link java.awt.event.KeyEvent} osztály
    • Az {@link java.awt.AWTKeyStroke} osztály
Egéresemények
  • Referenciák:
    • A {@link java.awt.event.MouseEvent} osztály
Görgetőgomb események
  • Referenciák:
    • A {@link java.awt.event.MouseWheelEvent} osztály
Események feldolgozása
  • Referenciák:
    • Az {@link java.awt.EventQueue} osztály
    • Az {@link java.awt.event.InvocationEvent} osztály
Események figyelése
Rendszerszintű események figyelése
  • Referenciák:
    • Az {@link java.awt.event.AWTEventListener} interfész
    • Az {@link java.awt.AWTEventMulticaster} osztály
Beviteli események figyelése
Billentyűzet események figyelése
  • Referenciák:
    • A {@link java.awt.event.KeyListener} interfész
Egéresemények figyelése
  • Referenciák:
    • A {@link java.awt.event.MouseListener} interfész
    • A {@link java.awt.event.MouseMotionListener} interfész
    • A {@link java.awt.event.MouseWheelListener} interfész
Az {@link elte.java2_utikalauz5.gui.EsemenyTeszt} példaprogram
Az AWT segédelemei
Kapcsolat az ablakozó rendszerrel
  • Referenciák:
    • A {@link java.awt.Toolkit} osztály
Az {@link elte.java2_utikalauz5.gui.ToolkitTeszt} példaprogram
Megjelenítési hardverkörnyezet
  • Referenciák:
    • A {@link java.awt.GraphicsEnvironment} osztály
    • A {@link java.awt.GraphicsDevice} osztály
    • A {@link java.awt.GraphicsConfiguration} osztály
Pozíció és méret reprezentálása
  • Referenciák:
    • A {@link java.awt.Point} osztály
    • A {@link java.awt.Dimension} osztály
    • Az {@link java.awt.Insets} osztály
Alakzatok
  • Referenciák:
    • A {@link java.awt.Rectangle} osztály
    • A {@link java.awt.Polygon} osztály
Egérkurzor
  • Referenciák:
    • A {@link java.awt.Cursor} osztály
    • A {@link java.awt.MouseInfo} osztály
Betűtípusok
  • Referenciák:
    • A {@link java.awt.Font} osztály
    • A {@link java.awt.FontMetrics} osztály
    • A {@link java.awt.font.LineMetrics} osztály
Színkezelés
  • Referenciák:
    • A {@link java.awt.Color} osztály
    • A {@link java.awt.SystemColor} osztály
Képkezelés
  • Referenciák:
    • Az {@link java.awt.Image} osztály
    • Az {@link java.awt.ImageObserver} interfész
    • A {@link java.awt.MediaTracker} osztály
Rajzolás
  • Referenciák:
    • A {@link java.awt.Graphics} osztály
Grafikus komponensek
Grafikus megjelenítés
  • Referenciák:
    • A grafikus megjelenítés menete
    • A {@link java.awt.Canvas} osztály
    • A {@link java.awt.image.VolatileImage} osztály
    • A {@link java.awt.image.BufferStrategy} osztály
A {@link elte.java2_utikalauz5.gui.PaintTeszt} példaprogram
A {@link elte.java2_utikalauz5.gui.CanvasPaintTeszt} példaprogram
  • Képek:
    • A {@code CanvasPaintTeszt} példaprogram felhasználói felülete
Konténerek
  • Referenciák:
    • A {@link java.awt.Container} osztály
A komponensek súlyossága
A {@link elte.java2_utikalauz5.gui.PehelyPaintTeszt} példaprogram
Swing komponensek
Elrendezési stratégiák
A {@link elte.java2_utikalauz5.gui.TesztLayout} példa elrendezési stratégia
A {@link elte.java2_utikalauz5.gui.LayoutTeszt} példaprogram
  • Képek:
    • A {@code LayoutTeszt} példaprogram felhasználói felülete jobbról balra függőleges, valamint balról jobbra vízszintes irányultsággal középre igazítva és a komponensek közt beállított térközzel
Kézi elrendezési stratégia
A {@link elte.java2_utikalauz5.gui.NullLayoutTeszt} példaprogram
A {@link java.awt.CardLayout} elrendezési stratégia
A {@link java.awt.BorderLayout} elrendezési stratégia
  • Referenciák:
    • A {@link elte.java2_utikalauz5.gui.BorderLayoutTeszt} példaprogram
  • Képek:
    • A {@code BorderLayoutTeszt} példaprogram teljesen és részlegesen kitöltött felhasználói felülete balról jobbra és jobbról balra irányultsággal, valamint a komponensek közti térközzel
A {@link java.awt.FlowLayout} elrendezési stratégia
  • Referenciák:
    • A {@link elte.java2_utikalauz5.gui.FlowLayoutTeszt} példaprogram
  • Képek:
    • A {@code FlowLayoutTeszt} példaprogram felhasználói felülete balra és középre igazítással, valamint jobbról balra irányultsággal és jobbra igazítással
A {@link java.awt.GridLayout} elrendezési stratégia
  • Referenciák:
    • A {@link elte.java2_utikalauz5.gui.GridLayoutTeszt} példaprogram
  • Képek:
    • A {@code GridLayoutTeszt} példaprogram felhasználói felülete balról jobbra, valamint jobbról balra irányultsággal és a komponensek közti térközzel
A {@link java.awt.GridBagLayout} elrendezési stratégia
  • Referenciák:
    • A {@link elte.java2_utikalauz5.gui.GridBagLayoutTeszt} példaprogram
  • Képek:
    • A {@code GridBagLayoutTeszt} példaprogram felhasználói felülete
Fókuszkezelés
A központi fókuszkezelő
  • Referenciák:
    • A {@link java.awt.KeyboardFocusManager} osztály
    • A {@link java.awt.DefaultKeyboardFocusManager} osztály
Billentyűzet események
  • Referenciák:
    • A {@link java.awt.KeyEventDispatcher} interfész
    • A {@link java.awt.KeyEventPostProcessor} interfész
Fókusz események
  • Referenciák:
    • A {@link java.awt.event.FocusEvent} osztály
    • A {@link java.awt.event.FocusListener} interfész
Fókuszléptetés
  • Referenciák:
    • A {@link java.awt.FocusTraversalPolicy} osztály
    • A {@link java.awt.ContainerOrderFocusTraversalPolicy} osztály
    • A {@link java.awt.DefaultFocusTraversalPolicy} osztály
Fókusz megszerzése és elvesztése
A {@link elte.java2_utikalauz5.gui.FokuszTeszt} példaprogram
Felsőszintű AWT konténerek
Ablakok
  • Referenciák:
    • A {@link java.awt.Window} osztály
    • A {@link java.awt.Frame} osztály
    • A {@link java.awt.event.WindowEvent} osztály
    • A {@link java.awt.event.WindowListener} interfész
    • A {@link java.awt.event.WindowStateListener} interfész
    • A {@link java.awt.event.WindowFocusListener} interfész
Párbeszédablakok
  • Referenciák:
    • A {@link java.awt.Dialog} osztály
Fájlkiválasztó dialógus
  • Referenciák:
    • A {@link java.awt.FileDialog} osztály
Az {@link elte.java2_utikalauz5.gui.AblakTeszt} példaprogram
AWT konténerek
Panel
  • Referenciák:
    • A {@link java.awt.Panel} osztály
Görgethető panel
  • Referenciák:
    • A {@link java.awt.ScrollPane} osztály
    • Az {@link java.awt.Adjustable} interfész
    • Az {@link java.awt.event.AdjustmentEvent} osztály
    • Az {@link java.awt.event.AdjustmentListener} interfész
A {@link elte.java2_utikalauz5.gui.ScrollPaneTeszt} példaprogram
AWT felületelemek
{@link java.awt.Canvas}
Címke
  • Referenciák:
    • A {@link java.awt.Label} osztály
A {@link elte.java2_utikalauz5.gui.TobbSorosCimke} példaprogram
  • Képek:
    • A {@code TobbSorosCimke} példaprogram felhasználói felülete
Nyomógomb
  • Referenciák:
    • A {@link java.awt.Button} osztály
    • Az {@link java.awt.event.ActionEvent} osztály
    • Az {@link java.awt.event.ActionListener} interfész
Jelölőnégyzet/rádiógomb
  • Referenciák:
    • A {@link java.awt.Checkbox} osztály
    • Az {@link java.awt.event.ItemEvent} osztály
    • Az {@link java.awt.event.ItemListener} interfész
    • Az {@link java.awt.ItemSelectable} interfész
    • A {@link java.awt.CheckboxGroup} osztály
A {@link elte.java2_utikalauz5.gui.CheckboxTeszt} példaprogram
  • Képek:
    • A {@code CheckboxTeszt} példaprogram felhasználói felülete
Szövegmezők
  • Referenciák:
    • A {@link java.awt.TextComponent} osztály
    • A {@link java.awt.event.TextEvent} osztály
    • A {@link java.awt.event.TextListener} interfész
    • A {@link java.awt.TextField} osztály
    • A {@link java.awt.TextArea} osztály
Lista
  • Referenciák:
    • A {@link java.awt.List} osztály
Legördíthető lista
  • Referenciák:
    • A {@link java.awt.Choice} osztály
A {@link elte.java2_utikalauz5.gui.ListaTeszt} példaprogram
  • Képek:
    • A {@code ListaTeszt} példaprogram felhasználói felülete
Görgetősáv
  • Referenciák:
    • A {@link java.awt.Scrollbar} osztály
A {@link elte.java2_utikalauz5.gui.ScrollbarTeszt} példaprogram
AWT menük
Menü elemek
  • Referenciák:
    • A {@link java.awt.MenuItem} osztály
    • A {@link java.awt.MenuShortcut} osztály
    • A {@link java.awt.CheckboxMenuItem} osztály
Menü konténerek
  • Referenciák:
    • A {@link java.awt.MenuContainer} interfész
    • A {@link java.awt.Menu} osztály
    • A {@link java.awt.MenuBar} osztály
    • A {@link java.awt.PopupMenu} osztály
A {@link elte.java2_utikalauz5.gui.MenuTeszt} példaprogram
Az AWT további lehetőségei
Drag & Drop
  • Referenciák:
    • Specifikáció
    • A {@link java.awt.dnd} csomag
    • A {@link java.awt.datatransfer} csomag
Áthúzási kezdeményezés figyelése
  • Referenciák:
    • A {@link java.awt.dnd.DragGestureRecognizer} osztály
    • A {@link java.awt.dnd.DnDConstants} osztály
    • A {@link java.awt.dnd.DragGestureEvent} osztály
    • A {@link java.awt.dnd.DragGestureListener} interfész
    • A {@link java.awt.dnd.MouseDragGestureRecognizer} osztály
Áthúzás indítása
  • Referenciák:
    • A {@link java.awt.dnd.DragSource} osztály
    • A {@link java.awt.dnd.DragSourceContext} osztály
    • A {@link java.awt.dnd.DragSourceEvent} osztály
    • A {@link java.awt.dnd.DragSourceDragEvent} osztály
    • A {@link java.awt.dnd.DragSourceDropEvent} osztály
    • A {@link java.awt.dnd.DragSourceListener} interfész
    • A {@link java.awt.dnd.DragSourceMotionListener} interfész
Áthúzás fogadása
  • Referenciák:
    • A {@link java.awt.dnd.DropTarget} osztály
    • A {@link java.awt.dnd.DropTargetContext} osztály
    • A {@link java.awt.dnd.DropTargetEvent} osztály
    • A {@link java.awt.dnd.DropTargetDragEvent} osztály
    • A {@link java.awt.dnd.DropTargetDropEvent} osztály
    • A {@link java.awt.dnd.DropTargetListener} interfész
    • Az {@link java.awt.dnd.Autoscroll} interfész
Adatátvitel
  • Referenciák:
    • A {@link java.awt.datatransfer.Transferable} interfész
    • A {@link java.awt.datatransfer.StringSelection} osztály
    • A {@link java.awt.datatransfer.DataFlavor} osztály
    • A {@link java.awt.datatransfer.FlavorMap} interfész
    • A {@link java.awt.datatransfer.FlavorTable} interfész
    • A {@link java.awt.datatransfer.SystemFlavorMap} osztály
    • Az {@link java.awt.dnd.InvalidDnDOperationException} kivétel
Vágólap kezelés
  • Referenciák:
    • A {@link java.awt.dnd.Clipboard} osztály
    • A {@link java.awt.dnd.ClipboardOwner} interfész
    • A {@link java.awt.dnd.FlavorEvent} osztály
    • A {@link java.awt.dnd.FlavorListener} interfész
A {@link elte.java2_utikalauz5.gui.DnDTeszt} példaprogram
Beviteli módszerek
Kliens oldal
  • Referenciák:
    • A {@link java.awt.im} csomag
    • Az {@link java.awt.im.InputContext} osztály
    • Az {@link java.awt.im.InputSubset} osztály
    • Az {@link java.awt.event.InputMethodEvent} osztály
    • Az {@link java.awt.event.InputMethodListener} interfész
    • Az {@link java.awt.im.InputMethodHighlight} osztály
    • Az {@link java.awt.event.InputMethodRequests} interfész
  • Képek:
    • Aktív kliens helyben történő bevitel esetén
    • Aktív kliens a beszúrási pont alatt történő bevitel esetén
    • Passzív kliens eseménykezelése
Szerver oldal
  • Referenciák:
    • A {@link java.awt.im.spi} csomag
    • Az {@link java.awt.im.spi.InputMethodDescription} interfész
    • Az {@link java.awt.im.spi.InputMethod} interfész
    • Az {@link java.awt.im.spi.InputMethodContext} interfész
Az {@link elte.java2_utikalauz5.gui.IMTeszt} példaprogram
Beviteli eszköztámogatás
  • Referenciák:
    • A {@link javax.accessibility} csomag
    • Az {@link javax.accessibility.Accessible} interfész
    • Az {@link javax.accessibility.AccessibleContext} osztály
    • Az {@link javax.accessibility.AccessibleAction} interfész
    • Az {@link javax.accessibility.AccessibleComponent} interfész
    • Az {@link javax.accessibility.AccessibleSelection} interfész
    • Az {@link javax.accessibility.AccessibleText} interfész
    • Az {@link javax.accessibility.AccessibleEditableText} interfész
    • Az {@link javax.accessibility.AccessibleHypertext} interfész
    • Az {@link javax.accessibility.AccessibleHyperlink} osztály
    • Az {@link javax.accessibility.AccessibleValue} interfész
    • Az {@link javax.accessibility.AccessibleTable} interfész
    • Az {@link javax.accessibility.AccessibleRole} osztály
    • Az {@link javax.accessibility.AccessibleRelation} osztály
    • Az {@link javax.accessibility.AccessibleRelationSet} osztály
    • Az {@link javax.accessibility.AccessibleState} osztály
    • Az {@link javax.accessibility.AccessibleStateSet} osztály
Tesztelés
  • Referenciák:
    • A {@link java.awt.Robot} osztály
A {@link elte.java2_utikalauz5.gui.RoboTeszt} példaprogram
Biztonság
  • Referenciák:
    • Az {@link java.awt.AWTPermisson} osztály
@link.forrásfájl {@docRoot}/../data/gui/src package-info.java @author Kispitye Software */ package elte.java2_utikalauz5.gui;