CH.ifa.draw.applet
Class DrawApplet

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by javax.swing.JApplet
                      extended by CH.ifa.draw.applet.DrawApplet
All Implemented Interfaces:
DrawingEditor, PaletteListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer
Direct Known Subclasses:
JavaDrawApplet, NothingApplet, PertApplet

public class DrawApplet
extends javax.swing.JApplet
implements DrawingEditor, PaletteListener

DrawApplication defines a standard presentation for a drawing editor that is run as an applet. The presentation is customized in subclasses.

Supported applet parameters:
DRAWINGS: a blank separated list of drawing names that is shown in the drawings choice.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JApplet
javax.swing.JApplet.AccessibleJApplet
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
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
static java.lang.String IMAGES
           
 
Fields inherited from class javax.swing.JApplet
accessibleContext, rootPane, rootPaneCheckingEnabled
 
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
DrawApplet()
           
 
Method Summary
protected  void createAttributeChoices(javax.swing.JPanel panel)
          Creates the attribute choices.
protected  javax.swing.JPanel createAttributesPanel()
          Creates the attributes panel.
protected  javax.swing.JPanel createButtonPanel()
          Creates the buttons panel.
protected  void createButtons(javax.swing.JPanel panel)
          Creates the buttons shown in the buttons panel.
protected  javax.swing.JComboBox createColorChoice(java.lang.String attribute)
          Creates the color choice for the given attribute.
protected  Drawing createDrawing()
          Creates the drawing used in this application.
protected  StandardDrawingView createDrawingView()
          Creates the drawing view used in this application.
protected  javax.swing.JComboBox createFontChoice()
          Creates the font choice.
protected  Tool createSelectionTool()
          Creates the selection tool used in this editor.
protected  ToolButton createToolButton(java.lang.String iconName, java.lang.String toolName, Tool tool)
          Creates a tool button with the given image, tool, and text
protected  javax.swing.JPanel createToolPalette()
          Creates the tools palette.
protected  void createTools(javax.swing.JPanel palette)
          Creates the tools.
 Drawing drawing()
          Gets the current drawing.
 void init()
          Initializes the applet and creates its contents.
protected  void loadDrawing(java.lang.String param)
           
 void paletteUserOver(PaletteButton button, boolean inside)
          Handles when the mouse enters or leaves a palette button.
 void paletteUserSelected(PaletteButton button)
          Handles a user selection in the palette.
 void selectionChanged(DrawingView view)
          Handles a change of the current selection.
protected  void setBufferedDisplayUpdate()
           
protected  void setSimpleDisplayUpdate()
           
protected  void showHelp()
          Shows a help page for the applet.
 Tool tool()
          Gets the current tool.
 void toolDone()
          Sets the default tool of the editor.
 DrawingView view()
          Gets the current drawing view.
 
Methods inherited from class javax.swing.JApplet
addImpl, createRootPane, getAccessibleContext, getContentPane, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isRootPaneCheckingEnabled, paramString, remove, repaint, setContentPane, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.applet.Applet
destroy, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface CH.ifa.draw.framework.DrawingEditor
showStatus
 

Field Detail

IMAGES

public static final java.lang.String IMAGES
See Also:
Constant Field Values
Constructor Detail

DrawApplet

public DrawApplet()
Method Detail

init

public void init()
Initializes the applet and creates its contents.

Overrides:
init in class java.applet.Applet

createAttributesPanel

protected javax.swing.JPanel createAttributesPanel()
Creates the attributes panel.


createAttributeChoices

protected void createAttributeChoices(javax.swing.JPanel panel)
Creates the attribute choices. Override to add additional choices.


createColorChoice

protected javax.swing.JComboBox createColorChoice(java.lang.String attribute)
Creates the color choice for the given attribute.


createFontChoice

protected javax.swing.JComboBox createFontChoice()
Creates the font choice. The choice is filled with all the fonts supported by the toolkit.


createButtonPanel

protected javax.swing.JPanel createButtonPanel()
Creates the buttons panel.


createButtons

protected void createButtons(javax.swing.JPanel panel)
Creates the buttons shown in the buttons panel. Override to add additional buttons.

Parameters:
panel - the buttons panel.

createToolPalette

protected javax.swing.JPanel createToolPalette()
Creates the tools palette.


createTools

protected void createTools(javax.swing.JPanel palette)
Creates the tools. By default only the selection tool is added. Override this method to add additional tools. Call the inherited method to include the selection tool.

Parameters:
palette - the palette where the tools are added.

createSelectionTool

protected Tool createSelectionTool()
Creates the selection tool used in this editor. Override to use a custom selection tool.


createToolButton

protected ToolButton createToolButton(java.lang.String iconName,
                                      java.lang.String toolName,
                                      Tool tool)
Creates a tool button with the given image, tool, and text


createDrawing

protected Drawing createDrawing()
Creates the drawing used in this application. You need to override this method to use a Drawing subclass in your application. By default a standard Drawing is returned.


createDrawingView

protected StandardDrawingView createDrawingView()
Creates the drawing view used in this application. You need to override this method to use a DrawingView subclass in your application. By default a standard DrawingView is returned.


paletteUserSelected

public void paletteUserSelected(PaletteButton button)
Handles a user selection in the palette.

Specified by:
paletteUserSelected in interface PaletteListener
See Also:
PaletteListener

paletteUserOver

public void paletteUserOver(PaletteButton button,
                            boolean inside)
Handles when the mouse enters or leaves a palette button.

Specified by:
paletteUserOver in interface PaletteListener
See Also:
PaletteListener

drawing

public Drawing drawing()
Gets the current drawing.

Specified by:
drawing in interface DrawingEditor
See Also:
DrawingEditor

tool

public Tool tool()
Gets the current tool.

Specified by:
tool in interface DrawingEditor
See Also:
DrawingEditor

view

public DrawingView view()
Gets the current drawing view.

Specified by:
view in interface DrawingEditor
See Also:
DrawingEditor

toolDone

public void toolDone()
Sets the default tool of the editor.

Specified by:
toolDone in interface DrawingEditor
See Also:
DrawingEditor

selectionChanged

public void selectionChanged(DrawingView view)
Handles a change of the current selection. Updates all menu items that are selection sensitive.

Specified by:
selectionChanged in interface DrawingEditor
See Also:
DrawingEditor

loadDrawing

protected void loadDrawing(java.lang.String param)

setSimpleDisplayUpdate

protected void setSimpleDisplayUpdate()

setBufferedDisplayUpdate

protected void setBufferedDisplayUpdate()

showHelp

protected void showHelp()
Shows a help page for the applet. The URL of the help page is derived as follows: codeBase+appletClassname+Help.html"