com.izforge.izpack.panels
Class PacksPanelBase

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.PacksPanelBase
All Implemented Interfaces:
PacksPanelInterface, AbstractUIHandler, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ListSelectionListener
Direct Known Subclasses:
ImgPacksPanel, PacksPanel

public abstract class PacksPanelBase
extends IzPanel
implements PacksPanelInterface, javax.swing.event.ListSelectionListener

The base class for Packs panels. It brings the common member and methods of the different packs panels together. This class handles the common logic of pack selection. The derived class should be create the layout and other specific actions. There are some helper methods to simplify layout creation in the derived class.

Author:
Julien Ponge, Klaus Bartz
See Also:
Serialized Form

Nested Class Summary
(package private) static class PacksPanelBase.CheckBoxEditorRenderer
           
 
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  int bytes
          The bytes of the current pack.
protected  boolean dependenciesExist
          Are there dependencies in the packs
protected  javax.swing.JTextArea dependencyArea
          The dependencies label.
protected  javax.swing.JTextArea descriptionArea
          The tip label.
protected  long freeBytes
          The free bytes of the current selected disk.
protected  javax.swing.JLabel freeSpaceLabel
          The free space label.
private static java.lang.String LANG_FILE_NAME
          The name of the XML file that specifies the panel langpack
private  LocaleDatabase langpack
          The packs locale database.
private  java.util.Map names
          Map that connects names with pack objects
protected  javax.swing.JTable packsTable
          The packs table.
protected  javax.swing.JLabel spaceLabel
          The space label.
protected  javax.swing.JScrollPane tableScroller
          The tablescroll.
 
Fields inherited from class com.izforge.izpack.installer.IzPanel
COLS_1, d, D, defaultGridBagConstraints, gridBagLayoutStarted, gridxCounter, gridyCounter, headline, HEADLINE, headLineLabel, idata, initialFocus, izPanelLayout, 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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PacksPanelBase(InstallerFrame parent, InstallData idata)
          The constructor.
 
Method Summary
private  void computePacks(java.util.List packs)
          Computes pack related data like the names or the dependencies state.
protected  javax.swing.JLabel createLabel(java.lang.String msgId, java.lang.String iconId, java.awt.GridBagLayout layout, java.awt.GridBagConstraints constraints)
          Layout helper method:
Creates an label with a message given by msgId and an icon given by the iconId.
protected abstract  void createNormalLayout()
          The Implementation of this method should create the layout for the current class.
protected  javax.swing.JTable createPacksTable(int width, javax.swing.JScrollPane scroller, java.awt.GridBagLayout layout, java.awt.GridBagConstraints constraints)
          Creates the table for the packs.
protected  javax.swing.JLabel createPanelWithLabel(java.lang.String msgId, java.awt.GridBagLayout layout, java.awt.GridBagConstraints constraints)
          Creates a panel containing a anonymous label on the left with the message for the given msgId and a label on the right side with initial no text.
protected  javax.swing.JTextArea createTextArea(java.lang.String msgId, javax.swing.JScrollPane scroller, java.awt.GridBagLayout layout, java.awt.GridBagConstraints constraints)
          Creates a text area with standard settings and the title given by the msgId.
 int getBytes()
           
 LocaleDatabase getLangpack()
           
 java.lang.String getSummaryBody()
          This method will be called from the SummaryPanel to get the summary of this class which should be placed in the SummaryPanel.
 boolean isValidated()
          Indicates wether the panel has been validated or not.
 void makeXMLData(XMLElement panelRoot)
          Asks to make the XML panel data.
 void panelActivate()
          Called when the panel becomes active.
 void setBytes(int bytes)
           
 void showFreeSpace()
           
 void showSpaceRequired()
           
 void valueChanged(javax.swing.event.ListSelectionEvent e)
           
 
Methods inherited from class com.izforge.izpack.installer.IzPanel
askQuestion, askQuestion, buildHeadline, completeGridBagLayout, createLabel, createLabel, createMultiLineLabel, createMultiLineLabel, createMultiLineLabelLang, emitError, emitNotification, emitWarning, getClassName, getControlTextFont, getDefaultGridBagConstraints, getI18nStringForClass, getImageIcon, getInitialFocus, getInstallerFrame, getLAF, getNewGridBagConstraints, getNewGridBagConstraints, getNextXGridBagConstraints, getNextYGridBagConstraints, getNextYGridBagConstraints, getString, getSummaryCaption, init, panelDeactivate, resetGridCounter, setDefaultGridBagConstraints, setInitialFocus, setLayout, 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

freeSpaceLabel

protected javax.swing.JLabel freeSpaceLabel
The free space label.


spaceLabel

protected javax.swing.JLabel spaceLabel
The space label.


descriptionArea

protected javax.swing.JTextArea descriptionArea
The tip label.


dependencyArea

protected javax.swing.JTextArea dependencyArea
The dependencies label.


packsTable

protected javax.swing.JTable packsTable
The packs table.


tableScroller

protected javax.swing.JScrollPane tableScroller
The tablescroll.


names

private java.util.Map names
Map that connects names with pack objects


bytes

protected int bytes
The bytes of the current pack.


freeBytes

protected long freeBytes
The free bytes of the current selected disk.


dependenciesExist

protected boolean dependenciesExist
Are there dependencies in the packs


langpack

private LocaleDatabase langpack
The packs locale database.


LANG_FILE_NAME

private static final java.lang.String LANG_FILE_NAME
The name of the XML file that specifies the panel langpack

See Also:
Constant Field Values
Constructor Detail

PacksPanelBase

public PacksPanelBase(InstallerFrame parent,
                      InstallData idata)
The constructor.

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

createNormalLayout

protected abstract void createNormalLayout()
The Implementation of this method should create the layout for the current class.


getLangpack

public LocaleDatabase getLangpack()
Specified by:
getLangpack in interface PacksPanelInterface

getBytes

public int getBytes()
Specified by:
getBytes in interface PacksPanelInterface

setBytes

public void setBytes(int bytes)
Specified by:
setBytes in interface PacksPanelInterface

showSpaceRequired

public void showSpaceRequired()
Specified by:
showSpaceRequired in interface PacksPanelInterface

showFreeSpace

public void showFreeSpace()
Specified by:
showFreeSpace in interface PacksPanelInterface

isValidated

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

Overrides:
isValidated in class IzPanel
Returns:
true if the needed space is less than the free space, else false

makeXMLData

public void makeXMLData(XMLElement panelRoot)
Asks to make the XML panel data.

Overrides:
makeXMLData in class IzPanel
Parameters:
panelRoot - The XML tree to write the data in.

valueChanged

public void valueChanged(javax.swing.event.ListSelectionEvent e)
Specified by:
valueChanged in interface javax.swing.event.ListSelectionListener

createLabel

protected javax.swing.JLabel createLabel(java.lang.String msgId,
                                         java.lang.String iconId,
                                         java.awt.GridBagLayout layout,
                                         java.awt.GridBagConstraints constraints)
Layout helper method:
Creates an label with a message given by msgId and an icon given by the iconId. If layout and constraints are not null, the label will be added to layout with the given constraints. The label will be added to this object.

Parameters:
msgId - identifier for the IzPack langpack
iconId - identifier for the IzPack icons
layout - layout to be used
constraints - constraints to be used
Returns:
the created label

createPanelWithLabel

protected javax.swing.JLabel createPanelWithLabel(java.lang.String msgId,
                                                  java.awt.GridBagLayout layout,
                                                  java.awt.GridBagConstraints constraints)
Creates a panel containing a anonymous label on the left with the message for the given msgId and a label on the right side with initial no text. The right label will be returned. If layout and constraints are not null, the label will be added to layout with the given constraints. The panel will be added to this object.

Parameters:
msgId - identifier for the IzPack langpack
layout - layout to be used
constraints - constraints to be used
Returns:
the created (right) label

createTextArea

protected javax.swing.JTextArea createTextArea(java.lang.String msgId,
                                               javax.swing.JScrollPane scroller,
                                               java.awt.GridBagLayout layout,
                                               java.awt.GridBagConstraints constraints)
Creates a text area with standard settings and the title given by the msgId. If scroller is not null, the create text area will be added to the scroller and the scroller to this object, else the text area will be added directly to this object. If layout and constraints are not null, the text area or scroller will be added to layout with the given constraints. The text area will be returned.

Parameters:
msgId - identifier for the IzPack langpack
scroller - the scroller to be used
layout - layout to be used
constraints - constraints to be used
Returns:
the created text area

createPacksTable

protected javax.swing.JTable createPacksTable(int width,
                                              javax.swing.JScrollPane scroller,
                                              java.awt.GridBagLayout layout,
                                              java.awt.GridBagConstraints constraints)
Creates the table for the packs. All parameters are required. The table will be returned.

Parameters:
width - of the table
scroller - the scroller to be used
layout - layout to be used
constraints - constraints to be used
Returns:
the created table

computePacks

private void computePacks(java.util.List packs)
Computes pack related data like the names or the dependencies state.

Parameters:
packs -

panelActivate

public void panelActivate()
Called when the panel becomes active. If a derived class implements this method also, it is recomanded to call this method with the super operator first.

Overrides:
panelActivate in class IzPanel

getSummaryBody

public java.lang.String getSummaryBody()
Description copied from class: IzPanel
This method will be called from the SummaryPanel to get the summary of this class which should be placed in the SummaryPanel. The returned text should not contain a caption of this item. The caption will be requested from the method getCaption. If null returns, no summary for this panel will be generated. Default behaviour is to return null.

Overrides:
getSummaryBody in class IzPanel
Returns:
the summary for this class