Class wrpSampler

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended bywrpSampler
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class wrpSampler
extends javax.swing.JFrame

This class is the base class for a simple application. By extending this class, you can build a GUI Java application that does what you want, writing only a minimal amount of new code.

The base application has two text areas: one at the top of the window for user input, and one at the bottom for program output. In the middle is a panel with buttons and a label containing user instructions.

The user should enter something in the upper text area and press the 'Process' button. Once pressed, the processData() method is called. This is where the main work is done by this program.

This sample program merely copies the text from the top area to the bottom area. By extending this class and implementing your own processData() method, you can create a program to do whatever you want it to do.

The following steps should be taken to create a new program:

  1. Create a new class that extends wrpSampler
  2. Implement the initValues() method
  3. Implement the processData() method
  4. Implement the main method
  5. Implement any additional methods you need

The initValues() method should set two string variables:

programName
The name of your program.
This value will be displayed at the top of the program window
helpString
User instructions
This will be displayed in the middle panel, under the buttons

The processData() method performs the specific operations for your program. It has the following class methods available:

getTopText()
Returns the text that the user entered in the top area
setBottomText(String s)
Sets the lower text area to the string 's'
debugPrint(String r, String m)
Displays debugging information on the System.out device
The arguments are the routine name (r), and an optional message (m)

The main method should use the show() method to create and start the program.

For example, look at the following subclasses:

wrpCountChar
Counts characters by types

Author:
Bill Pringle
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 java.lang.String bottomText
          This string will be set to whatever is in the lower text area.
 boolean debugSwitch
          Debugging switch.
 java.lang.String helpText
          This string should contain user instructions.
protected  java.awt.Panel pnlBottom
           
protected  javax.swing.JPanel pnlButtons
           
protected  java.awt.Panel pnlTop
           
 java.lang.String programName
          This string should be set to the program name in the initValues() method
 java.lang.String topText
          This string will be set to whatever the user entered.
protected  javax.swing.JTextArea txtBottom
           
protected  javax.swing.JTextArea txtTop
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, 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 javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
wrpSampler()
          Creates new form wrpSampler The init() method initializes all of the necessary values
 
Method Summary
 void clearDisplay()
          Should clear the upper and lower text areas.
 void debugPrint(java.lang.String rtn)
          Display debugging information, but without a specific message.
 void debugPrint(java.lang.String rtn, java.lang.String s)
          Displays debugging information.
 java.lang.String getBottomText()
          Can be used to set the bottom text area
 java.lang.String getTopText()
          Can be used to get the string in the top text area
 void init()
          Initializes the form by calling the methods initValues(), initComponents(), and initEnvironment()
 void initEnvironment()
          initializes the title and help labels, using the class variables that were set in the initValues() method.
 void initValues()
          Initializes class variables.
static void main(java.lang.String[] args)
           
 void processData()
          The method that should implement the main processing actions of the program.
 void quitProgram()
           
 void setBottomText(java.lang.String s)
          Can be used to set the lower text area.
 void setTopText(java.lang.String s)
          Can be used to set the top text area.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, 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, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

programName

public java.lang.String programName
This string should be set to the program name in the initValues() method


helpText

public java.lang.String helpText
This string should contain user instructions. It should be initialized in the initValues() method.


debugSwitch

public boolean debugSwitch
Debugging switch. If set to true, debug statement may be displayed


topText

public java.lang.String topText
This string will be set to whatever the user entered. It is initialized before calling the ProcessData() method.


bottomText

public java.lang.String bottomText
This string will be set to whatever is in the lower text area. It is initialized just after returning from the ProcessData() method


pnlBottom

protected java.awt.Panel pnlBottom

pnlButtons

protected javax.swing.JPanel pnlButtons

pnlTop

protected java.awt.Panel pnlTop

txtBottom

protected javax.swing.JTextArea txtBottom

txtTop

protected javax.swing.JTextArea txtTop
Constructor Detail

wrpSampler

public wrpSampler()
Creates new form wrpSampler The init() method initializes all of the necessary values

Method Detail

init

public void init()
Initializes the form by calling the methods initValues(), initComponents(), and initEnvironment()


initValues

public void initValues()
Initializes class variables. This method should be overridden by each subclass, and set the programName and helpText strings.


initEnvironment

public void initEnvironment()
initializes the title and help labels, using the class variables that were set in the initValues() method. This method probably shouldn't be overridded by any subclass.


setTopText

public void setTopText(java.lang.String s)
Can be used to set the top text area.


getTopText

public java.lang.String getTopText()
Can be used to get the string in the top text area


setBottomText

public void setBottomText(java.lang.String s)
Can be used to set the lower text area.


getBottomText

public java.lang.String getBottomText()
Can be used to set the bottom text area


clearDisplay

public void clearDisplay()
Should clear the upper and lower text areas. Probably should not be overridden in subclasses, unless you want to implement an undo feature.


quitProgram

public void quitProgram()

processData

public void processData()
The method that should implement the main processing actions of the program. This method should be overridden by all subclasses. It can reference the string topText to get what the user entered in the top area. Once done, the resulting text in the lower area will be saved in the string bottomText


debugPrint

public void debugPrint(java.lang.String rtn,
                       java.lang.String s)
Displays debugging information.

Parameters:
rtn - Name of the routine where the statement is located
s - Information string to be displayed.

debugPrint

public void debugPrint(java.lang.String rtn)
Display debugging information, but without a specific message.

Parameters:
rtn - Name of the routine

main

public static void main(java.lang.String[] args)
Parameters:
args - the command line arguments