com.izforge.izpack.panels
Class UserPathInputPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.izforge.izpack.installer.IzPanel
                      extended by com.izforge.izpack.panels.UserPathInputPanel
All Implemented Interfaces:
LayoutConstants, AbstractUIHandler, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.SwingConstants
Direct Known Subclasses:
UserPathPanel

public class UserPathInputPanel
extends IzPanel
implements java.awt.event.ActionListener

Base class for panels which asks for paths.

Author:
Klaus Bartz, Jeff Gordon
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.izforge.izpack.installer.IzPanel
IzPanel.Filler
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
protected  java.lang.String _createDirMsg
           
protected  java.lang.String _defaultDir
           
protected  java.lang.String _defaultPanelName
           
protected  java.lang.String _emptyTargetMsg
           
protected  java.lang.String _error
           
protected  java.lang.String[] _existFiles
          Files which should be exist
private  InstallData _idata
           
protected  boolean _loadedDefaultDir
           
protected  boolean _mustExist
          Flag whether the choosen path must exist or not
protected  java.lang.String _notValidMsg
           
protected  java.lang.String _notWritableMsg
           
private  InstallerFrame _parent
           
protected  UserPathSelectionPanel _pathSelectionPanel
          The path selection sub panel
protected  java.lang.String _reqMsg
           
protected  java.lang.String _targetPanel
           
protected  java.lang.String _thisPanel
           
protected  java.lang.String _variableName
           
protected  java.lang.String _warn
           
protected  java.lang.String _warnMsg
           
private static long serialVersionUID
           
 
Fields inherited from class com.izforge.izpack.installer.IzPanel
COLS_1, d, D, headline, HEADLINE, headLineLabel, hidden, idata, initialFocus, layoutHelper, metadata, myClassname, myFullClassname, myPrefix, parent, ROWS_1, X_ORIGIN, Y_ORIGIN
 
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 com.izforge.izpack.util.AbstractUIHandler
ANSWER_CANCEL, ANSWER_NO, ANSWER_YES, CHOICES_YES_NO, CHOICES_YES_NO_CANCEL
 
Fields inherited from interface com.izforge.izpack.gui.LayoutConstants
ABSOLUTE_STRETCH, ALL_GAP, AUTOMATIC_GAP, CONTROL_CONSTRAINT, CONTROL_GAP, CONTROL_TO_LABEL_GAP, CONTROL_TO_TEXT_GAP, CURRENT_COLUMN, CURRENT_ROW, DEFAULT_CONTROL_ALIGNMENT, DEFAULT_LABEL_ALIGNMENT, DEFAULT_TEXT_ALIGNMENT, FILL_OUT_COLUMN_HEIGHT, FILL_OUT_COLUMN_SIZE, FILL_OUT_COLUMN_WIDTH, FILLER1_GAP, FILLER13_GAP, FILLER2_GAP, FILLER4_GAP, FILLER5_GAP, FULL_COLUMN_STRETCH, FULL_LINE_COMPONENT_CONSTRAINT, FULL_LINE_CONTROL_CONSTRAINT, FULL_LINE_STRETCH, GAP_LOAD_MARKER, LABEL_CONSTRAINT, LABEL_GAP, LABEL_TO_CONTROL_GAP, LABEL_TO_TEXT_GAP, NEXT_COLUMN, NEXT_LINE, NEXT_ROW, NO_FILL_OUT_COLUMN, NO_GAP, NO_STRETCH, PARAGRAPH_GAP, RELATIVE_STRETCH, TEXT_CONSTRAINT, TEXT_GAP, TEXT_TO_CONTROL_GAP, TEXT_TO_LABEL_GAP, TOP_GAP, XDUMMY_CONSTRAINT, XY_VARIABLE_CONSTRAINT, YDUMMY_CONSTRAINT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
UserPathInputPanel(InstallerFrame parent, InstallData idata, java.lang.String targetPanel, java.lang.String variableName)
          The constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Actions-handling method.
 void createLayoutBottom()
          This method does nothing.
 java.lang.String getDefaultDir()
          Returns the default for the directory.
 java.lang.String[] getExistFiles()
          Returns the array of strings which are described the files which must exist.
private  java.lang.String getMessage(java.lang.String type)
           
 java.lang.String getTargetPanel()
          Returns the panel name extending this class.
 boolean isMustExist()
          Returns the must exist state.
 boolean isValidated()
          Indicates whether the panel has been validated or not.
 boolean isWriteable()
          This method determines whether the chosen dir is writeable or not.
private  void loadDefaultDir()
          "targetPanel" is typically the class name of the implementing panel, such as "UserPathPanel" or "TargetPanel" set when the class is created, but can be set with setDefaultDir().
private  void loadMessages()
           
protected  boolean pathIsValid()
          Returns whether the chosen path is true or not.
 void setDefaultDir(java.lang.String string)
          Sets the default for the directory to the given string.
 void setExistFiles(java.lang.String[] strings)
          Sets the paths of files which must exist under the chosen path.
 void setMustExist(boolean b)
          Sets the must exist state.
 void setTargetPanel(java.lang.String string)
          Sets the panel name extending this class.
 
Methods inherited from class com.izforge.izpack.installer.IzPanel
askQuestion, askQuestion, buildHeadline, completeGridBagLayout, createLabel, createLabel, createLabel, createLabel, createMultiLineLabel, createMultiLineLabel, createMultiLineLabelLang, emitError, emitNotification, emitNotificationFeedback, emitWarning, getClassName, getControlTextFont, getDefaultGridBagConstraints, getI18nStringForClass, getI18nStringForClass, getImageIcon, getInitialFocus, getInstallerFrame, getLAF, getLayoutHelper, getMetadata, getNewGridBagConstraints, getNewGridBagConstraints, getNextXGridBagConstraints, getNextYGridBagConstraints, getNextYGridBagConstraints, getString, getSummaryBody, getSummaryCaption, init, initLayoutHelper, isHidden, makeXMLData, panelActivate, panelDeactivate, parseText, resetGridCounter, setDefaultGridBagConstraints, setHidden, setInitialFocus, setMetadata, startGridBagLayout
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, 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

_parent

private InstallerFrame _parent

_idata

private InstallData _idata

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

_mustExist

protected boolean _mustExist
Flag whether the choosen path must exist or not


_loadedDefaultDir

protected boolean _loadedDefaultDir

_existFiles

protected java.lang.String[] _existFiles
Files which should be exist


_pathSelectionPanel

protected UserPathSelectionPanel _pathSelectionPanel
The path selection sub panel


_error

protected java.lang.String _error

_warn

protected java.lang.String _warn

_emptyTargetMsg

protected java.lang.String _emptyTargetMsg

_warnMsg

protected java.lang.String _warnMsg

_reqMsg

protected java.lang.String _reqMsg

_notValidMsg

protected java.lang.String _notValidMsg

_notWritableMsg

protected java.lang.String _notWritableMsg

_createDirMsg

protected java.lang.String _createDirMsg

_defaultDir

protected java.lang.String _defaultDir

_thisPanel

protected java.lang.String _thisPanel

_defaultPanelName

protected java.lang.String _defaultPanelName

_targetPanel

protected java.lang.String _targetPanel

_variableName

protected java.lang.String _variableName
Constructor Detail

UserPathInputPanel

public UserPathInputPanel(InstallerFrame parent,
                          InstallData idata,
                          java.lang.String targetPanel,
                          java.lang.String variableName)
The constructor.

Parameters:
parent - The parent window.
idata - The installation data.
Method Detail

createLayoutBottom

public void createLayoutBottom()
This method does nothing. It is called from ctor of UserPathInputPanel, to give in a derived class the possibility to add more components under the path input components.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Actions-handling method.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - The event.

loadMessages

private void loadMessages()

getMessage

private java.lang.String getMessage(java.lang.String type)

isValidated

public boolean isValidated()
Indicates whether the panel has been validated or not.

Overrides:
isValidated in class IzPanel
Returns:
Whether the panel has been validated or not.

pathIsValid

protected boolean pathIsValid()
Returns whether the chosen path is true or not. If existFiles are not null, the existence of it under the choosen path are detected. This method can be also implemented in derived classes to handle special verification of the path.

Returns:
true if existFiles are exist or not defined, else false

isMustExist

public boolean isMustExist()
Returns the must exist state.

Returns:
the must exist state

setMustExist

public void setMustExist(boolean b)
Sets the must exist state. If it is true, the path must exist.

Parameters:
b - must exist state

getExistFiles

public java.lang.String[] getExistFiles()
Returns the array of strings which are described the files which must exist.

Returns:
paths of files which must exist

setExistFiles

public void setExistFiles(java.lang.String[] strings)
Sets the paths of files which must exist under the chosen path.

Parameters:
strings - paths of files which must exist under the chosen path

loadDefaultDir

private void loadDefaultDir()
"targetPanel" is typically the class name of the implementing panel, such as "UserPathPanel" or "TargetPanel" set when the class is created, but can be set with setDefaultDir(). Loads up the "dir" resource associated with targetPanel. Acceptable dir resource names: targetPanel.dir.macosx targetPanel.dir.mac targetPanel.dir.windows targetPanel.dir.unix targetPanel.dir.xxx, where xxx is the lower case version of System.getProperty("os.name"), with any spaces replace with underscores targetPanel.dir (generic that will be applied if none of above is found) As with all IzPack resources, each the above ids should be associated with a separate filename, which is set in the install.xml file at compile time.


isWriteable

public boolean isWriteable()
This method determines whether the chosen dir is writeable or not.

Returns:
whether the chosen dir is writeable or not

getDefaultDir

public java.lang.String getDefaultDir()
Returns the default for the directory.

Returns:
the default for the directory

setDefaultDir

public void setDefaultDir(java.lang.String string)
Sets the default for the directory to the given string.

Parameters:
string - path for default directory

getTargetPanel

public java.lang.String getTargetPanel()
Returns the panel name extending this class. Used for looking up localized text and resources.

Returns:
the default for the directory

setTargetPanel

public void setTargetPanel(java.lang.String string)
Sets the panel name extending this class. Used for looking up localized text and resources.

Parameters:
string - path for default directory