Package library.impl

Class ApplicationFrame

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
library.impl.ApplicationFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ApplicationFrame
extends javax.swing.JFrame
A program fő ablaka. Beállítja és megjeleníti a felhasználói felület elemeit.
See Also:
Serialized Form
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    private class  ApplicationFrame.BookTableCellRenderer
    Renderer a könyveket tartalmazó táblázathoz; a tárolt könyvek elérhetősége alapján más-más betűstílussal jeleníti meg a sorokat.
    private class  ApplicationFrame.BookTableTableModelListener
    A könyvek táblázatának modelljén történő változásokat figyelő listener.
    private class  ApplicationFrame.MemberTableModelListener
    A könyvek táblázatának modelljén történő változásokat figyelő listener.

    Nested classes/interfaces inherited from class javax.swing.JFrame

    javax.swing.JFrame.AccessibleJFrame

    Nested classes/interfaces inherited from class java.awt.Frame

    java.awt.Frame.AccessibleAWTFrame

    Nested classes/interfaces inherited from class java.awt.Window

    java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type

    Nested classes/interfaces inherited from class java.awt.Container

    java.awt.Container.AccessibleAWTContainer

    Nested classes/interfaces inherited from class java.awt.Component

    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private javax.swing.JTable bookTable
    A könyveket tartalmazó JTable objektum.
    private javax.swing.JTree borrowersTree
    A kölcsönzések nyilvántartására használt JTree objektum.
    private javax.swing.JSplitPane horizontalSplitPane
    A képernyőt vízszintesen két részre osztó JSplitPane objektum, mely tartalmazza az északi panelt és a könyvek táblázatát.
    private Library library
    A könyvtár objektum, aminek az adatait megjeleníti a program.
    private javax.swing.JTable memberTable
    A könyvtári tagokat tartalmazó JTable objektum.
    private javax.swing.JPanel northPanel
    Az ablak északi panele, amin megjelenik a tagokat tartalmazó táblázat és az aktuális kölcsönzéseket nyilvántartó fa struktúra.
    private BookSearchBar searchBar
    A könyvek közti kereséshez használt szövegmező.
    private javax.swing.JSplitPane verticalSplitPane
    Az északi panel komponenseit függőlegesen kettéválasztó JSplitPane objektum.
    private java.awt.Dimension windowSize
    Az ablak aktuális méretét nyilvántartó objektum.

    Fields inherited from class javax.swing.JFrame

    accessibleContext, rootPane, rootPaneCheckingEnabled

    Fields inherited from class java.awt.Frame

    CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR

    Fields inherited from class java.awt.Component

    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

    Fields inherited from interface java.awt.image.ImageObserver

    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

    Fields inherited from interface javax.swing.WindowConstants

    DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
  • Constructor Summary

    Constructors 
    Constructor Description
    ApplicationFrame()
    Konstruktor
  • Method Summary

    Modifier and Type Method Description
    private void initBookTable()
    Létrehozza és beállítja a könyvek megjelenítéséért felelős komponenseket
    private void initCellEditors()
    Beállítja azokat a CellEditor-okat, amiknek JComboBox-szal lehet megadni az értékét a könyvek táblázatában.
    private void initFrame()
    Beállítja az ablak tulajdonságait
    private void initMemberTable()
    Létrehozza és beállítja a könyvtári tagok megjelenítéséért felelős komponenseket
    private void initMenuBar()
    Létrehozza, beállítja és az ablakhoz adja a menüsort.
    private void initTree()
    Inicializálja a kölcsönzéseket nyilvántartó JTree objektumot.
    static void main​(java.lang.String[] args)
    A program belépési pontja.
    private void readDataFromFile()
    Visszaolvassa az adatokat egy korábban sorosított fájlból.
    private void reloadTree()
    Frissíti a kölcsönzéseket nyilvántartó fa struktúrát.
    private void showAddBookDialog()
    Megjelenít egy könyv adatinak megadását lehetővé tevő ablakot.
    private void showEditMemberDialog()
    Megjelenít egy tag adatinak szerkesztését lehetővé tevő ablakot, a kapott adatokat továbbítja a Library osztálynak.
    private void showOpenFileDialog()
    Megjelenít egy tallózás ablakot, ahol ha a felhasználó megfelelő kiterjesztésű fájlt választ ki, akkor beolvassa belőle az adatokat.
    private void showRemoveBookDialog()
    Megkérdezi a felhasználót, hogy biztosan törölni szeretné-e a könyvet; ha igen, törli.
    private void showSaveAsDialog()
    Megjelenít egy "Mentés másként..." ablakot, amiben a felhasználó megadhatja, hogy hova szeretné menteni a fájlt.

    Methods inherited from class javax.swing.JFrame

    addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update

    Methods inherited from class java.awt.Frame

    addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated

    Methods inherited from class java.awt.Window

    addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront

    Methods inherited from class java.awt.Container

    add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree

    Methods inherited from class java.awt.Component

    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.awt.MenuContainer

    getFont, postEvent
  • Field Details

    • bookTable

      private final javax.swing.JTable bookTable
      A könyveket tartalmazó JTable objektum.
    • memberTable

      private final javax.swing.JTable memberTable
      A könyvtári tagokat tartalmazó JTable objektum.
    • northPanel

      private final javax.swing.JPanel northPanel
      Az ablak északi panele, amin megjelenik a tagokat tartalmazó táblázat és az aktuális kölcsönzéseket nyilvántartó fa struktúra.
    • horizontalSplitPane

      private final javax.swing.JSplitPane horizontalSplitPane
      A képernyőt vízszintesen két részre osztó JSplitPane objektum, mely tartalmazza az északi panelt és a könyvek táblázatát.
    • verticalSplitPane

      private final javax.swing.JSplitPane verticalSplitPane
      Az északi panel komponenseit függőlegesen kettéválasztó JSplitPane objektum.
    • library

      private Library library
      A könyvtár objektum, aminek az adatait megjeleníti a program.
    • searchBar

      private BookSearchBar searchBar
      A könyvek közti kereséshez használt szövegmező.
    • borrowersTree

      private javax.swing.JTree borrowersTree
      A kölcsönzések nyilvántartására használt JTree objektum.
    • windowSize

      private java.awt.Dimension windowSize
      Az ablak aktuális méretét nyilvántartó objektum. Az ablak átméretezésekor a komponensek képernyőn elfoglalt helyének arányának megtartására használjuk.
      See Also:
      initFrame()
  • Constructor Details

  • Method Details

    • main

      public static void main​(java.lang.String[] args)
      A program belépési pontja.
    • readDataFromFile

      private void readDataFromFile()
      Visszaolvassa az adatokat egy korábban sorosított fájlból.
    • showOpenFileDialog

      private void showOpenFileDialog()
      Megjelenít egy tallózás ablakot, ahol ha a felhasználó megfelelő kiterjesztésű fájlt választ ki, akkor beolvassa belőle az adatokat.
    • showSaveAsDialog

      private void showSaveAsDialog()
      Megjelenít egy "Mentés másként..." ablakot, amiben a felhasználó megadhatja, hogy hova szeretné menteni a fájlt. Ezt követően a megadott helyre írja a fájlt.
    • showAddBookDialog

      private void showAddBookDialog()
      Megjelenít egy könyv adatinak megadását lehetővé tevő ablakot. Ha valamelyik adat hibás, hibaüzenetet ad.
    • showRemoveBookDialog

      private void showRemoveBookDialog()
      Megkérdezi a felhasználót, hogy biztosan törölni szeretné-e a könyvet; ha igen, törli.
    • showEditMemberDialog

      private void showEditMemberDialog()
      Megjelenít egy tag adatinak szerkesztését lehetővé tevő ablakot, a kapott adatokat továbbítja a Library osztálynak.
    • initFrame

      private void initFrame()
      Beállítja az ablak tulajdonságait
    • initMenuBar

      private void initMenuBar()
      Létrehozza, beállítja és az ablakhoz adja a menüsort.
    • initBookTable

      private void initBookTable()
      Létrehozza és beállítja a könyvek megjelenítéséért felelős komponenseket
    • initMemberTable

      private void initMemberTable()
      Létrehozza és beállítja a könyvtári tagok megjelenítéséért felelős komponenseket
    • initTree

      private void initTree()
      Inicializálja a kölcsönzéseket nyilvántartó JTree objektumot.
    • reloadTree

      private void reloadTree()
      Frissíti a kölcsönzéseket nyilvántartó fa struktúrát.
    • initCellEditors

      private void initCellEditors()
      Beállítja azokat a CellEditor-okat, amiknek JComboBox-szal lehet megadni az értékét a könyvek táblázatában.