com.tecnick.jwtm
Class Jwtm

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 com.tecnick.jwtm.Jwtm
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class Jwtm
extends java.applet.Applet

Title: JWTM (Web Tree Menu)
Description: Applet to display tree menus

Copyright (c) 2002-2006 Tecnick.com S.r.l (www.tecnick.com) Via Ugo Foscolo n.19 - 09045 Quartu Sant'Elena (CA) - ITALY - www.tecnick.com - info@tecnick.com
Project homepage: http://jxhtmledit.sourceforge.net
License: http://www.gnu.org/copyleft/gpl.html GPL 2

Version:
1.1.003
Author:
Nicola Asuni [www.tecnick.com].
See Also:
Serialized Form

Nested Class Summary
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
(package private)  java.applet.Applet a
          this applet.
(package private)  ImageButton[] ab
          array to contain tree item elements (cliccable buttons)
private  java.awt.Font abfont
          button font
(package private)  ConnectorButton[] cb
          array to contain tree connectors elements
private  java.awt.FlowLayout item_layout
          layout for [connector + button] block
(package private)  java.awt.event.ActionListener jumpToUrl
           
private static java.lang.String JWTM_VERSION
          Software version
private  int num_buttons
          number of buttons
private  java.awt.Color p_background_col
          applet background color
private  java.awt.Image p_background_img
          applet background imag
private  int p_background_img_pos
          applet background image position (TILE, CENTER, STRETCH, LEFT, RIGHT)
private  java.lang.String[] p_bck_img_off
          button image for off status
private  java.lang.String[] p_bck_img_on
          button image for maouse-click status
private  java.lang.String[] p_bck_img_over
          button image for mouse-over status
private  int[] p_border_width
          button bevel width (0 = no bevel)
private  boolean[] p_center_block
          if true center the block (image+label) on the button
private  java.awt.Color[] p_colbck_off
          button off background color
private  java.awt.Color[] p_colbck_on
          button on background color
private  java.awt.Color[] p_colbck_over
          button over background color
private  java.awt.Color[] p_colsdw_off
          button off text shadow color
private  java.awt.Color[] p_colsdw_on
          button on text shadow color
private  java.awt.Color[] p_colsdw_over
          button over text shadow color
private  java.awt.Color[] p_coltxt_off
          button off text color
private  java.awt.Color[] p_coltxt_on
          button on text color
private  java.awt.Color[] p_coltxt_over
          button over text color
private  java.awt.Color p_connector_bck_col_off
          button off background color
private  java.awt.Color p_connector_bck_col_on
          button on background color
private  java.awt.Color p_connector_bck_col_over
          button over background color
private  java.lang.String p_connector_bck_img_off
          button image for off status
private  java.lang.String p_connector_bck_img_on
          button image for mouse-click status
private  java.lang.String p_connector_bck_img_over
          button image for mouse-over status
private  java.awt.Color p_connector_line_col_off
          button off background color
private  java.awt.Color p_connector_line_col_on
          button on background color
private  java.awt.Color p_connector_line_col_over
          button over background color
private  int p_connector_line_width
          connector line width in pixels (0 = no line)
private  int p_connector_min_width
          connector minimum width
private  java.lang.String p_connector_sound_click
          mouse click button sound
private  java.lang.String p_connector_sound_over
          mouse over button sound
private  java.lang.String p_data_file
          url of text file containing menu data (alternative to parameters)
private  java.lang.String p_default_bck_img_off
          button image for off status
private  java.lang.String p_default_bck_img_on
          button image for mouse-click status
private  java.lang.String p_default_bck_img_over
          button image for mouse-over status
private  int p_default_border_width
          button bevel width (0 = no bevel)
private  boolean p_default_center_block
          if true center the block (image+label) on the button
private  java.awt.Color p_default_colbck_off
          button off background color
private  java.awt.Color p_default_colbck_on
          button on background color
private  java.awt.Color p_default_colbck_over
          button over background color
private  java.awt.Color p_default_colsdw_off
          button off text shadow color
private  java.awt.Color p_default_colsdw_on
          button on text shadow color
private  java.awt.Color p_default_colsdw_over
          button over text shadow color
private  java.awt.Color p_default_coltxt_off
          button off text color
private  java.awt.Color p_default_coltxt_on
          button on text color
private  java.awt.Color p_default_coltxt_over
          button over text color
private  java.lang.String p_default_encoding
          charset encoding
private  int p_default_gap
          distance between button objects (image, label)
private  int p_default_hmargin
          default horizontal margin between buttons
private  java.lang.String p_default_icon_off
          button image icon off status
private  java.lang.String p_default_icon_on
          button image icon on status
private  java.lang.String p_default_icon_over
          button image icon over status
private  int p_default_label_position
          label position respect the image (LEFT, RIGHT, TOP, BOTTOM)
private  java.lang.String p_default_main_font
          button font name
private  int p_default_main_font_size
          font size
private  int p_default_main_font_style
          button style (PLAIN, BOLD, ITALIC, BOLD+ITALIC)
private  int[] p_default_padding
          array of button paddings (Left, Right, Top, Bottom) pixels between button border and first element (image or label)
private  boolean p_default_pushed
          if true enable button pushed status
private  int p_default_shadow_x
          text shadow relative horizontal position
private  int p_default_shadow_y
          text shadow relative vertical position
private  java.lang.String p_default_sound_click
          mouse click button sound
private  java.lang.String p_default_sound_over
          mouse over button sound
private  java.lang.String p_default_target
          default frame target
private  int p_default_vmargin
          default vertical margin between buttons
private  java.lang.String[] p_description
          menu item description
private  java.lang.String p_disabled_msg
          default disabled message
private  boolean[] p_enabled
          true if is enabled
private  java.lang.String[] p_encoding
          menu item charset encoding
private  java.lang.String[] p_font
          button font name
private  int[] p_font_size
          font size
private  int[] p_font_style
          button style (PLAIN, BOLD, ITALIC, BOLD+ITALIC)
private  int[] p_gap
          distance between button objects (image and label)
private  java.lang.String[] p_icon_off
          button image icon off status
private  java.lang.String[] p_icon_on
          button image icon on status
private  java.lang.String[] p_icon_over
          button image icon over status
private  int[] p_id
          menu id
private  java.awt.Image p_img_node_off
          connector icon when mouse is off (closed)
private  java.awt.Image p_img_node_on
          connector icon when mouse is on (open)
private  java.awt.Image p_img_node_over
          connector icon when mouse is over
private  int[] p_label_position
          label position respect the image (LEFT, RIGHT, TOP, BOTTOM)
private  boolean[] p_last_node
          true when element is the last child of tree branch
private  int[] p_level
          remember elements indentation level
private  java.lang.String[] p_link
          menu link
private  int p_menu_direction
          Menu direction (LEFT=left-to-right or RIGHT=right-to-left)
private  java.lang.String[] p_name
          menu item name
private  boolean[] p_node
          true if is a node
private  int[][] p_padding
          array of button paddings (Left, Right, Top, Bottom) pixels between left button border and first element (image or label)
private  java.lang.String p_page_encoding
          html page encoding
private  boolean[] p_pushed
          if true enable button pushed status
private  int[] p_shadow_x
          text shadow relative horizontal position
private  int[] p_shadow_y
          text shadow relative vertical position
private  java.lang.String[] p_shortcut
          keyboard shortcut to activate button (e.g: SHIFT+A)
private  java.lang.String[] p_sound_click
          mouse click button sound
private  java.lang.String[] p_sound_over
          mouse over button sound
private  int[] p_subid
          menu parent id (id of node)
private  java.lang.String[] p_target
          frame target
private  boolean[][] p_v_connectors
          remember wich vertical connector to draw next to the element node
private  java.awt.ScrollPane scroll_pane
          scroll pane to scroll the tree structure
private static long serialVersionUID
          serialVersionUID
private  VFlowLayout tree_layout
          layout for the tree
private  BgPanel tree_pane
          Panel with background
 
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
Jwtm()
          Applet constructor
 
Method Summary
private  void changeView(int vid, int rid, boolean updatenode)
          Expand/Collapse subtrees
private  int countButtons()
          Count the number of buttons
 void destroy()
          Destroy the applet
private  void drawButton(int vid, int rid)
          Draw the item button and handle behaviour.
private  void drawConnector(int vid, int rid)
          Draw the item connector and handle behaviour.
private  void drawItem(int vid, int rid)
          Draw the block [connector + button].
 java.lang.String getAppletInfo()
          Get Applet information
private  java.lang.String getDefaultValue(java.lang.String str, java.lang.String def)
          Return "def" if "str" is null or empty
private  java.lang.String getEncodedString(java.lang.String original, java.lang.String encoding_in, java.lang.String encoding_out)
          Convert string to specified encoding.
private  int getFontStyleCode(java.lang.String stylename)
          Return the int associated to font style.
private  java.lang.String getParameter(java.lang.String key, java.lang.String def)
          Get applet parameter value, return default if void.
private  void getParameters()
          Get the applet parameters.
private  int getPositionCode(java.lang.String posname)
          Return the int associated to string position name.
 void init()
          Initialize the applet
private  void jbInit()
          Component initialization
private static java.awt.Image loadImage(java.applet.Applet a, java.net.URL file)
          Load an image.
private  void readMenuDataFile(java.lang.String filename)
          Read menu items data from external text file.
private  void setMenuItemSize(int i)
          set arrays size
private  java.net.URL setURL(java.lang.String link)
          Computes full, canonical URL from a relative specification.
private  java.lang.String[] splitData(java.lang.String input_string, char sep_ch, int size)
          Split a string in array of predefined size.
 void start()
          Start the applet
 void stop()
          Stop the applet
 
Methods inherited from class java.applet.Applet
getAccessibleContext, getAppletContext, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, 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
 

Field Detail

serialVersionUID

private static final long serialVersionUID
serialVersionUID

See Also:
Constant Field Values

JWTM_VERSION

private static final java.lang.String JWTM_VERSION
Software version

See Also:
Constant Field Values

ab

ImageButton[] ab
array to contain tree item elements (cliccable buttons)


cb

ConnectorButton[] cb
array to contain tree connectors elements


a

final java.applet.Applet a
this applet. (only final variables can be used in inner anonymous classes)


item_layout

private java.awt.FlowLayout item_layout
layout for [connector + button] block


tree_layout

private VFlowLayout tree_layout
layout for the tree


scroll_pane

private java.awt.ScrollPane scroll_pane
scroll pane to scroll the tree structure


tree_pane

private BgPanel tree_pane
Panel with background


num_buttons

private int num_buttons
number of buttons


abfont

private java.awt.Font abfont
button font


p_menu_direction

private int p_menu_direction
Menu direction (LEFT=left-to-right or RIGHT=right-to-left)


p_connector_bck_img_off

private java.lang.String p_connector_bck_img_off
button image for off status


p_connector_bck_img_over

private java.lang.String p_connector_bck_img_over
button image for mouse-over status


p_connector_bck_img_on

private java.lang.String p_connector_bck_img_on
button image for mouse-click status


p_img_node_off

private java.awt.Image p_img_node_off
connector icon when mouse is off (closed)


p_img_node_on

private java.awt.Image p_img_node_on
connector icon when mouse is on (open)


p_img_node_over

private java.awt.Image p_img_node_over
connector icon when mouse is over


p_connector_sound_over

private java.lang.String p_connector_sound_over
mouse over button sound


p_connector_sound_click

private java.lang.String p_connector_sound_click
mouse click button sound


p_connector_bck_col_off

private java.awt.Color p_connector_bck_col_off
button off background color


p_connector_bck_col_over

private java.awt.Color p_connector_bck_col_over
button over background color


p_connector_bck_col_on

private java.awt.Color p_connector_bck_col_on
button on background color


p_connector_line_col_off

private java.awt.Color p_connector_line_col_off
button off background color


p_connector_line_col_over

private java.awt.Color p_connector_line_col_over
button over background color


p_connector_line_col_on

private java.awt.Color p_connector_line_col_on
button on background color


p_connector_line_width

private int p_connector_line_width
connector line width in pixels (0 = no line)


p_connector_min_width

private int p_connector_min_width
connector minimum width


p_default_padding

private int[] p_default_padding
array of button paddings (Left, Right, Top, Bottom) pixels between button border and first element (image or label)


p_default_vmargin

private int p_default_vmargin
default vertical margin between buttons

Since:
1.1.000

p_default_hmargin

private int p_default_hmargin
default horizontal margin between buttons

Since:
1.1.000

p_default_gap

private int p_default_gap
distance between button objects (image, label)


p_default_pushed

private boolean p_default_pushed
if true enable button pushed status


p_default_label_position

private int p_default_label_position
label position respect the image (LEFT, RIGHT, TOP, BOTTOM)


p_default_center_block

private boolean p_default_center_block
if true center the block (image+label) on the button


p_default_border_width

private int p_default_border_width
button bevel width (0 = no bevel)


p_default_target

private java.lang.String p_default_target
default frame target


p_disabled_msg

private java.lang.String p_disabled_msg
default disabled message


p_background_col

private java.awt.Color p_background_col
applet background color


p_background_img

private java.awt.Image p_background_img
applet background imag


p_background_img_pos

private int p_background_img_pos
applet background image position (TILE, CENTER, STRETCH, LEFT, RIGHT)


p_default_colbck_off

private java.awt.Color p_default_colbck_off
button off background color


p_default_colbck_over

private java.awt.Color p_default_colbck_over
button over background color


p_default_colbck_on

private java.awt.Color p_default_colbck_on
button on background color


p_default_coltxt_off

private java.awt.Color p_default_coltxt_off
button off text color


p_default_coltxt_over

private java.awt.Color p_default_coltxt_over
button over text color


p_default_coltxt_on

private java.awt.Color p_default_coltxt_on
button on text color


p_default_colsdw_off

private java.awt.Color p_default_colsdw_off
button off text shadow color


p_default_colsdw_over

private java.awt.Color p_default_colsdw_over
button over text shadow color


p_default_colsdw_on

private java.awt.Color p_default_colsdw_on
button on text shadow color


p_default_shadow_x

private int p_default_shadow_x
text shadow relative horizontal position


p_default_shadow_y

private int p_default_shadow_y
text shadow relative vertical position


p_default_bck_img_off

private java.lang.String p_default_bck_img_off
button image for off status


p_default_bck_img_over

private java.lang.String p_default_bck_img_over
button image for mouse-over status


p_default_bck_img_on

private java.lang.String p_default_bck_img_on
button image for mouse-click status


p_default_icon_off

private java.lang.String p_default_icon_off
button image icon off status


p_default_icon_over

private java.lang.String p_default_icon_over
button image icon over status


p_default_icon_on

private java.lang.String p_default_icon_on
button image icon on status


p_default_main_font

private java.lang.String p_default_main_font
button font name


p_default_main_font_style

private int p_default_main_font_style
button style (PLAIN, BOLD, ITALIC, BOLD+ITALIC)


p_default_main_font_size

private int p_default_main_font_size
font size


p_default_encoding

private java.lang.String p_default_encoding
charset encoding


p_page_encoding

private java.lang.String p_page_encoding
html page encoding


p_default_sound_over

private java.lang.String p_default_sound_over
mouse over button sound


p_default_sound_click

private java.lang.String p_default_sound_click
mouse click button sound


p_data_file

private java.lang.String p_data_file
url of text file containing menu data (alternative to parameters)


p_id

private int[] p_id
menu id


p_subid

private int[] p_subid
menu parent id (id of node)


p_node

private boolean[] p_node
true if is a node


p_enabled

private boolean[] p_enabled
true if is enabled


p_level

private int[] p_level
remember elements indentation level


p_last_node

private boolean[] p_last_node
true when element is the last child of tree branch


p_v_connectors

private boolean[][] p_v_connectors
remember wich vertical connector to draw next to the element node


p_link

private java.lang.String[] p_link
menu link


p_target

private java.lang.String[] p_target
frame target


p_encoding

private java.lang.String[] p_encoding
menu item charset encoding


p_name

private java.lang.String[] p_name
menu item name


p_description

private java.lang.String[] p_description
menu item description


p_icon_off

private java.lang.String[] p_icon_off
button image icon off status


p_icon_over

private java.lang.String[] p_icon_over
button image icon over status


p_icon_on

private java.lang.String[] p_icon_on
button image icon on status


p_colbck_off

private java.awt.Color[] p_colbck_off
button off background color


p_colbck_over

private java.awt.Color[] p_colbck_over
button over background color


p_colbck_on

private java.awt.Color[] p_colbck_on
button on background color


p_coltxt_off

private java.awt.Color[] p_coltxt_off
button off text color


p_coltxt_over

private java.awt.Color[] p_coltxt_over
button over text color


p_coltxt_on

private java.awt.Color[] p_coltxt_on
button on text color


p_colsdw_off

private java.awt.Color[] p_colsdw_off
button off text shadow color


p_colsdw_over

private java.awt.Color[] p_colsdw_over
button over text shadow color


p_colsdw_on

private java.awt.Color[] p_colsdw_on
button on text shadow color


p_shadow_x

private int[] p_shadow_x
text shadow relative horizontal position


p_shadow_y

private int[] p_shadow_y
text shadow relative vertical position


p_bck_img_off

private java.lang.String[] p_bck_img_off
button image for off status


p_bck_img_over

private java.lang.String[] p_bck_img_over
button image for mouse-over status


p_bck_img_on

private java.lang.String[] p_bck_img_on
button image for maouse-click status


p_sound_over

private java.lang.String[] p_sound_over
mouse over button sound


p_sound_click

private java.lang.String[] p_sound_click
mouse click button sound


p_pushed

private boolean[] p_pushed
if true enable button pushed status


p_padding

private int[][] p_padding
array of button paddings (Left, Right, Top, Bottom) pixels between left button border and first element (image or label)


p_gap

private int[] p_gap
distance between button objects (image and label)


p_label_position

private int[] p_label_position
label position respect the image (LEFT, RIGHT, TOP, BOTTOM)


p_center_block

private boolean[] p_center_block
if true center the block (image+label) on the button


p_border_width

private int[] p_border_width
button bevel width (0 = no bevel)


p_font

private java.lang.String[] p_font
button font name


p_font_style

private int[] p_font_style
button style (PLAIN, BOLD, ITALIC, BOLD+ITALIC)


p_font_size

private int[] p_font_size
font size


p_shortcut

private java.lang.String[] p_shortcut
keyboard shortcut to activate button (e.g: SHIFT+A)


jumpToUrl

java.awt.event.ActionListener jumpToUrl
Constructor Detail

Jwtm

public Jwtm()
Applet constructor

Method Detail

setURL

private java.net.URL setURL(java.lang.String link)
Computes full, canonical URL from a relative specification.

Parameters:
link - string containing URL
Returns:
canonical URL

getEncodedString

private java.lang.String getEncodedString(java.lang.String original,
                                          java.lang.String encoding_in,
                                          java.lang.String encoding_out)
Convert string to specified encoding.

Parameters:
original - original string
encoding_in - input encoding table
encoding_out - output encoding table
Returns:
encoded string

getPositionCode

private int getPositionCode(java.lang.String posname)
Return the int associated to string position name.

Parameters:
posname - name of position
Returns:
position int code

getFontStyleCode

private int getFontStyleCode(java.lang.String stylename)
Return the int associated to font style.

Parameters:
stylename - name of style
Returns:
style int code

loadImage

private static java.awt.Image loadImage(java.applet.Applet a,
                                        java.net.URL file)
Load an image.

Parameters:
a - applet
file - image file URL
Returns:
loadImage

getParameter

private java.lang.String getParameter(java.lang.String key,
                                      java.lang.String def)
Get applet parameter value, return default if void.

Parameters:
key - name of parameter to read
def - default value
Returns:
parameter value or default

countButtons

private int countButtons()
Count the number of buttons

Returns:
int number of specified buttons

getDefaultValue

private java.lang.String getDefaultValue(java.lang.String str,
                                         java.lang.String def)
Return "def" if "str" is null or empty

Parameters:
str - value to return if not null
def - default value to return
Returns:
def or str by case

getParameters

private void getParameters()
Get the applet parameters.


setMenuItemSize

private void setMenuItemSize(int i)
set arrays size

Parameters:
i - size of array

readMenuDataFile

private void readMenuDataFile(java.lang.String filename)
Read menu items data from external text file. "\n" separate items "\t" separate values

Parameters:
filename - the text file containing menu data

splitData

private java.lang.String[] splitData(java.lang.String input_string,
                                     char sep_ch,
                                     int size)
Split a string in array of predefined size.

Parameters:
input_string - string to split
sep_ch - separator character
size - max elements to retrieve, remaining elements will be filled with empty string
Returns:
splitted_array of strings

init

public void init()
Initialize the applet

Overrides:
init in class java.applet.Applet

drawItem

private void drawItem(int vid,
                      int rid)
Draw the block [connector + button].

Parameters:
vid - virtual ID
rid - real ID

drawButton

private void drawButton(int vid,
                        int rid)
Draw the item button and handle behaviour.

Parameters:
vid - virtual ID
rid - real ID

drawConnector

private void drawConnector(int vid,
                           int rid)
Draw the item connector and handle behaviour.

Parameters:
vid - virtual ID
rid - real ID

changeView

private void changeView(int vid,
                        int rid,
                        boolean updatenode)
Expand/Collapse subtrees

Parameters:
vid - virtual ID
rid - real ID
updatenode - updatenode

jbInit

private void jbInit()
             throws java.lang.Exception
Component initialization

Throws:
java.lang.Exception

start

public void start()
Start the applet

Overrides:
start in class java.applet.Applet

stop

public void stop()
Stop the applet

Overrides:
stop in class java.applet.Applet

destroy

public void destroy()
Destroy the applet

Overrides:
destroy in class java.applet.Applet

getAppletInfo

public java.lang.String getAppletInfo()
Get Applet information

Overrides:
getAppletInfo in class java.applet.Applet
Returns:
Applet information