org.flashcards
Class FlashCards

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--org.flashcards.FlashCards

public class FlashCards
extends javax.swing.JFrame

This is the the main class for the FlashCards application.

Author:
Thornton Rose
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  javax.swing.JButton aboutButton
           
static java.lang.String APP_TITLE
           
private  javax.swing.JButton backButton
           
private  java.awt.BorderLayout borderLayout1
           
private  java.awt.BorderLayout borderLayout2
           
private  javax.swing.JPanel buttonPanel
           
private  javax.swing.JLabel cardLabel
           
private  java.awt.CardLayout cardLayout1
           
private  javax.swing.JPanel cardPanel
           
private  javax.swing.JPanel controlPanel
           
private  javax.swing.JPanel countPanel
           
private  Card currentCard
           
private  int currentCardIndex
           
private  CardDeck deck
           
private  javax.swing.JFileChooser fileChooser
           
private  javax.swing.JButton firstButton
           
private  javax.swing.JButton flipAllButton
           
private  javax.swing.JButton flipButton
           
private  java.awt.GridLayout horizontalGridLayout
           
private  javax.swing.JButton infoButton
           
private  javax.swing.JButton lastButton
           
private  javax.swing.JButton loadButton
           
private  javax.swing.JButton nextButton
           
private  javax.swing.JButton shuffleButton
           
private  javax.swing.JLabel statLabel
           
static java.lang.String VERSION
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, defaultCloseOperation, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
base, CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, frameSerializedDataVersion, HAND_CURSOR, icon, ICONIFIED, mbManagement, menuBar, MOVE_CURSOR, N_RESIZE_CURSOR, nameCounter, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, ownedWindows, resizable, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, serialVersionUID, state, SW_RESIZE_CURSOR, TEXT_CURSOR, title, W_RESIZE_CURSOR, WAIT_CURSOR, weakThis
 
Fields inherited from class java.awt.Window
active, base, focusMgr, inputContext, nameCounter, OPENED, ownedWindowList, serialVersionUID, state, warningString, weakThis, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
FlashCards()
          Construct the FlashCards frame.
 
Method Summary
private  void addListeners()
          Add listeners to components.
private  void enableButtons(boolean enabled)
          Enable/disable the buttons (except for load, which is always enabled).
private  void exit()
          Exit the application.
private  void flipAllCards()
          Flip the deck.
private  void flipCard()
          Flip the current card.
private  void jbInit()
          Initialize UI components.
private  void loadDeck()
          Load deck from text file.
static void main(java.lang.String[] args)
          Start the application.
private  void showAbout()
          Show application description, author, copyright, ...
private  void showCard()
          Show the current card.
 void showDeckInfo()
          Show deck information.
private  void showFirstCard()
          Show the first card.
private  void showLastCard()
          Show the last card.
private  void showNextCard()
          Show the next card.
private  void showPreviousCard()
          Show the previous card.
private  void shuffleDeck()
          Shuffle the deck.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, createRootPaneException, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
, addNotify, addToFrameList, constructComponentName, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, initIDs, isResizable, postProcessKeyEvent, readObject, remove, removeFromFrameList, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle, writeObject
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getInputContext, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, removeOwnedWindow, removeWindowListener, setCursor, setFocusOwner, setWarningString, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, countComponents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getCursorTarget, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, paint, paintComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, printOneComponent, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, removeAll, removeContainerListener, setFont, updateCursor, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getIntrinsicCursor, getLocation, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

APP_TITLE

public static final java.lang.String APP_TITLE

VERSION

public static final java.lang.String VERSION

deck

private CardDeck deck

currentCard

private Card currentCard

currentCardIndex

private int currentCardIndex

fileChooser

private javax.swing.JFileChooser fileChooser

horizontalGridLayout

private java.awt.GridLayout horizontalGridLayout

cardPanel

private javax.swing.JPanel cardPanel

cardLabel

private javax.swing.JLabel cardLabel

buttonPanel

private javax.swing.JPanel buttonPanel

controlPanel

private javax.swing.JPanel controlPanel

loadButton

private javax.swing.JButton loadButton

shuffleButton

private javax.swing.JButton shuffleButton

flipAllButton

private javax.swing.JButton flipAllButton

flipButton

private javax.swing.JButton flipButton

firstButton

private javax.swing.JButton firstButton

backButton

private javax.swing.JButton backButton

nextButton

private javax.swing.JButton nextButton

lastButton

private javax.swing.JButton lastButton

infoButton

private javax.swing.JButton infoButton

aboutButton

private javax.swing.JButton aboutButton

borderLayout1

private java.awt.BorderLayout borderLayout1

borderLayout2

private java.awt.BorderLayout borderLayout2

statLabel

private javax.swing.JLabel statLabel

countPanel

private javax.swing.JPanel countPanel

cardLayout1

private java.awt.CardLayout cardLayout1
Constructor Detail

FlashCards

public FlashCards()
Construct the FlashCards frame.
Method Detail

jbInit

private void jbInit()
Initialize UI components.

addListeners

private void addListeners()
Add listeners to components.

enableButtons

private void enableButtons(boolean enabled)
Enable/disable the buttons (except for load, which is always enabled).

showAbout

private void showAbout()
Show application description, author, copyright, ...

showDeckInfo

public void showDeckInfo()
Show deck information.

loadDeck

private void loadDeck()
Load deck from text file.

shuffleDeck

private void shuffleDeck()
Shuffle the deck.

flipAllCards

private void flipAllCards()
Flip the deck.

flipCard

private void flipCard()
Flip the current card.

showCard

private void showCard()
Show the current card.

showFirstCard

private void showFirstCard()
Show the first card.

showPreviousCard

private void showPreviousCard()
Show the previous card. (Note that the current index will "wrap" to the last position if at the beginning.)

showNextCard

private void showNextCard()
Show the next card. (Note that the index will "wrap" to the first position if at the end.)

showLastCard

private void showLastCard()
Show the last card.

exit

private void exit()
Exit the application.

main

public static void main(java.lang.String[] args)
Start the application.