net.sourceforge.barbecue.linear.code39
Class Code39Barcode

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended bynet.sourceforge.barbecue.Barcode
                  extended bynet.sourceforge.barbecue.linear.LinearBarcode
                      extended bynet.sourceforge.barbecue.linear.code39.Code39Barcode
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable

public class Code39Barcode
extends LinearBarcode

This is a concrete implementation of the Code 39 barcode, AKA 3of9, USD-3.

Author:
Ian Bourke
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
static java.lang.String[] TYPES
          A list of type identifiers for the Code39 barcode format
 
Fields inherited from class net.sourceforge.barbecue.Barcode
barHeight, barWidth, data, drawingQuietSection, drawingText
 
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.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Code39Barcode(java.lang.String data, boolean requiresChecksum)
          Constructs a basic mode Code 39 barcode with the specified data and an optional checksum.
Code39Barcode(java.lang.String data, boolean requiresChecksum, boolean extendedMode)
          Constructs an extended mode Code 39 barcode with the specified data and an optional checksum.
 
Method Summary
protected  Module calculateChecksum()
          Returns the checksum for the barcode, pre-encoded as a Module.
static int calculateMod43(java.lang.String givenData)
          Returns the for the Mod-43 checkIndex for the barcode as an int
protected  Module[] encodeData()
          Returns the encoded data for the barcode.
 java.lang.String getLabel()
          Returns the text that will be displayed underneath the barcode (if requested).
protected  Module getPostAmble()
          Returns the post-amble for the barcode.
protected  Module getPreAmble()
          Returns the pre-amble for the barcode.
 
Methods inherited from class net.sourceforge.barbecue.linear.LinearBarcode
draw, drawTextLabel
 
Methods inherited from class net.sourceforge.barbecue.Barcode
beautify, calculateMinimumBarHeight, draw, drawModule, getBounds, getBounds, getData, getHeight, getMaximumSize, getMinimumSize, getPreferredSize, getResolution, getSize, getWidth, getX, getY, isDrawingQuietSection, isDrawingText, output, paintComponent, print, setBarHeight, setBarWidth, setDrawingQuietSection, setDrawingText, setFont, setLabel, setResolution, toString
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPES

public static final java.lang.String[] TYPES
A list of type identifiers for the Code39 barcode format

Constructor Detail

Code39Barcode

public Code39Barcode(java.lang.String data,
                     boolean requiresChecksum)
              throws BarcodeException
Constructs a basic mode Code 39 barcode with the specified data and an optional checksum.

Parameters:
data - The data to encode
requiresChecksum - A flag indicating whether a checksum is required or not
Throws:
BarcodeException - If the data to be encoded is invalid

Code39Barcode

public Code39Barcode(java.lang.String data,
                     boolean requiresChecksum,
                     boolean extendedMode)
              throws BarcodeException
Constructs an extended mode Code 39 barcode with the specified data and an optional checksum. The extended mode encodes all 128 ASCII characters using two character pairs from the basic Code 39 character set. Note that most barcode scanners will need to be configured to accept extended Code 39.

Parameters:
data - The data to encode
requiresChecksum - A flag indicating whether a checksum is required or not
extendedMode - Puts the barcode into extended mode, where all 128 ASCII characters can be encoded
Throws:
BarcodeException - If the data to be encoded is invalid
Method Detail

getLabel

public java.lang.String getLabel()
Returns the text that will be displayed underneath the barcode (if requested).

Overrides:
getLabel in class Barcode
Returns:
The text label for the barcode

encodeData

protected Module[] encodeData()
Returns the encoded data for the barcode.

Specified by:
encodeData in class Barcode
Returns:
An array of modules that represent the data as a barcode

calculateChecksum

protected Module calculateChecksum()
Returns the checksum for the barcode, pre-encoded as a Module.

Specified by:
calculateChecksum in class Barcode
Returns:
Null if no checksum is required, a Mod-43 calculated checksum otherwise

calculateMod43

public static int calculateMod43(java.lang.String givenData)
Returns the for the Mod-43 checkIndex for the barcode as an int

Returns:
Mod-43 checkIndex for the given data String

getPreAmble

protected Module getPreAmble()
Returns the pre-amble for the barcode.

Specified by:
getPreAmble in class Barcode
Returns:
ModuleFactory.START_STOP

getPostAmble

protected Module getPostAmble()
Returns the post-amble for the barcode.

Specified by:
getPostAmble in class Barcode
Returns:
ModuleFactory.START_STOP


Copyright © 2003-2007 barbecue.sourceforge.net. All Rights Reserved.