edu.uci.ics.inf111.dvdvendor.gui
Class DVDVendorGUI

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.uci.ics.inf111.dvdvendor.gui.DVDVendorGUI
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class DVDVendorGUI
extends javax.swing.JPanel
implements java.awt.event.ActionListener

The DVDVendorGui class handles the Graphical User Interface for the DVD Vendor system. It allows the user to do the following actions in the system: Rent DVDs and Return DVDs. Application messages, including exceptions, will be shown in the Messages section of the screen.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  Actions actions
          actions object that contains the actions for the DVD Vendor system
protected  javax.swing.JButton addDVDButton
          Button for Add DVD action
protected  javax.swing.JScrollPane areaScrollPane
          Scroll Panel that will be attached to the Messages Text Area
protected static java.lang.String barCodeLabelString
          String for the DVD Bar Code label
protected  javax.swing.JButton calculateChargesButton
          Button for Calculate Charges action
protected static java.lang.String cardNumberLabelString
          String for the Card Number label
protected  javax.swing.JTextField cardNumberTextField
          Text Field for Card Number
protected  javax.swing.JButton dispenseButton
          Button for Dispense action
protected  DVDVendor dvdVendor
          dvdVendor object that will be used for the transactions
protected  javax.swing.JButton mainMenuRentButton
          Button for Main Menu action in Rent Transaction
protected  javax.swing.JButton mainMenuReturnButton
          Button for Main Menu action in Return Transaction
protected  javax.swing.JTextArea messagesTextArea
          Text Area for application messages
protected  javax.swing.JButton payButton
          Button for Pay for Items action
protected  javax.swing.JComboBox productsRentComboBox
          ComboBox for Products to Rent
protected  javax.swing.JComboBox productsReturnComboBox
          ComboBox for Products to Return
protected  javax.swing.JButton rentButton
          Button for Rent action
protected  javax.swing.JPanel rentPane
          Panel for the Rent Transaction
protected  javax.swing.JButton returnButton
          Button for Return action
protected  javax.swing.JButton returnDVDButton
          Button for Return DVD action
protected  javax.swing.JPanel returnPane
          Panel for the Return Transaction
protected  javax.swing.JPanel selectTransactionPane
          Panel for choosing Rent or Return Transaction
private static long serialVersionUID
          Class serial version
protected static java.lang.String startUpExceptionLabelString
          String for the StartUp Exception label
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
 
Constructor Summary
DVDVendorGUI()
          This constructor creates the text fields, labels, and buttons.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Method that receives the ActionEvent when a button is pressed in the GUI.
private static void createAndShowGUI()
          Create the GUI and show it.
static void main(java.lang.String[] args)
          Show the Graphical User Interface for the DVD Vendor application
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Class serial version

See Also:
Constant Field Values

dvdVendor

protected DVDVendor dvdVendor
dvdVendor object that will be used for the transactions


actions

protected Actions actions
actions object that contains the actions for the DVD Vendor system


barCodeLabelString

protected static final java.lang.String barCodeLabelString
String for the DVD Bar Code label

See Also:
Constant Field Values

cardNumberLabelString

protected static final java.lang.String cardNumberLabelString
String for the Card Number label

See Also:
Constant Field Values

startUpExceptionLabelString

protected static final java.lang.String startUpExceptionLabelString
String for the StartUp Exception label

See Also:
Constant Field Values

rentButton

protected javax.swing.JButton rentButton
Button for Rent action


returnButton

protected javax.swing.JButton returnButton
Button for Return action


addDVDButton

protected javax.swing.JButton addDVDButton
Button for Add DVD action


dispenseButton

protected javax.swing.JButton dispenseButton
Button for Dispense action


calculateChargesButton

protected javax.swing.JButton calculateChargesButton
Button for Calculate Charges action


returnDVDButton

protected javax.swing.JButton returnDVDButton
Button for Return DVD action


mainMenuRentButton

protected javax.swing.JButton mainMenuRentButton
Button for Main Menu action in Rent Transaction


mainMenuReturnButton

protected javax.swing.JButton mainMenuReturnButton
Button for Main Menu action in Return Transaction


payButton

protected javax.swing.JButton payButton
Button for Pay for Items action


cardNumberTextField

protected javax.swing.JTextField cardNumberTextField
Text Field for Card Number


messagesTextArea

protected javax.swing.JTextArea messagesTextArea
Text Area for application messages


productsRentComboBox

protected javax.swing.JComboBox productsRentComboBox
ComboBox for Products to Rent


productsReturnComboBox

protected javax.swing.JComboBox productsReturnComboBox
ComboBox for Products to Return


rentPane

protected javax.swing.JPanel rentPane
Panel for the Rent Transaction


returnPane

protected javax.swing.JPanel returnPane
Panel for the Return Transaction


selectTransactionPane

protected javax.swing.JPanel selectTransactionPane
Panel for choosing Rent or Return Transaction


areaScrollPane

protected javax.swing.JScrollPane areaScrollPane
Scroll Panel that will be attached to the Messages Text Area

Constructor Detail

DVDVendorGUI

public DVDVendorGUI()
This constructor creates the text fields, labels, and buttons. It organizes all these objects in three panels: one for choosing the Transaction, another for the Rent Transaction and the last one for the Return transaction. This three panels will be made visible or invisible according to the selections of the user. Initially, only the Panel to choose the transaction will be visible.

Method Detail

createAndShowGUI

private static void createAndShowGUI()
Create the GUI and show it. For thread safety, this method should be invoked from the event dispense thread.


main

public static void main(java.lang.String[] args)
Show the Graphical User Interface for the DVD Vendor application


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Method that receives the ActionEvent when a button is pressed in the GUI. It calls to the appropriate action in the system and shows the result of the action in the message text area. If an exception is raised, this is showed in the message text area starting with the word EXCEPTION.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - ActionEvent captured when user presses a button in the GUI