com.izforge.izpack.panels.packs
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.gui.IzPanel
                      extended by com.izforge.izpack.panels.packs.PacksPanelBase
All Implemented Interfaces:
AbstractUIHandler, ISummarisable, LayoutConstants, PacksPanelInterface, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ListSelectionListener, SwingConstants
Direct Known Subclasses:
ImgPacksPanel, PacksPanel

public abstract class PacksPanelBase
extends IzPanel
implements PacksPanelInterface, 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, Dennis Reil
See Also:
Serialized Form

Nested Class Summary
static class PacksPanelBase.LFIndependentIcon
           
 
Nested classes/interfaces inherited from class com.izforge.izpack.installer.gui.IzPanel
IzPanel.Filler
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  long bytes
          The bytes of the current pack.
protected  boolean dependenciesExist
          Are there dependencies in the packs
protected  JTextArea dependencyArea
          The dependencies label.
protected  JTextArea descriptionArea
          The tip label.
protected  long freeBytes
          The free bytes of the current selected disk.
protected  JLabel freeSpaceLabel
          The free space label.
protected  PacksModel packsModel
          The packs model.
protected  JTable packsTable
          The packs table.
protected  JLabel spaceLabel
          The space label.
protected  JScrollPane tableScroller
          The tablescroll.
 
Fields inherited from class com.izforge.izpack.installer.gui.IzPanel
DELIMITER, HEADLINE, headLineLabel, initialFocus, installData, layoutHelper, parent
 
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.api.handler.AbstractUIHandler
ANSWER_CANCEL, ANSWER_NO, ANSWER_YES, CHOICES_YES_NO
 
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
PacksPanelBase(Panel panel, InstallerFrame parent, GUIInstallData installData, Resources resources, ObjectFactory factory, RulesEngine rules)
          Constructs a PacksPanelBase.
 
Method Summary
 void createInstallationRecord(IXMLElement panelRoot)
          Asks to make the XML panel installDataGUI.
protected  JLabel createLabel(String msgId, String iconId, GridBagLayout layout, 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  JTable createPacksTable(int width, JScrollPane scroller, GridBagLayout layout, GridBagConstraints constraints)
          Creates the table for the packs.
protected  JLabel createPanelWithLabel(String msgId, GridBagLayout layout, 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  JTextArea createTextArea(String msgId, JScrollPane scroller, GridBagLayout layout, GridBagConstraints constraints)
          Creates a text area with standard settings and the title given by the msgId.
 long getBytes()
           
 Debugger getDebugger()
           
 Messages getMessages()
           
 String getSummaryBody()
           
 boolean isValidated()
          Indicates wether the panel has been validated or not.
 void panelActivate()
          Called when the panel becomes active.
 void setBytes(long bytes)
           
 void showFreeSpace()
           
 void showSpaceRequired()
           
 void valueChanged(ListSelectionEvent e)
           
 
Methods inherited from class com.izforge.izpack.installer.gui.IzPanel
askQuestion, askQuestion, askWarningQuestion, canShowHelp, createLabel, createMultiLineLabel, createMultiLineLabelLang, emitError, emitNotification, emitNotificationFeedback, emitWarning, getControlTextFont, getI18nStringForClass, getI18nStringForClass, getImageIcon, getInitialFocus, getInstallerFrame, getLAF, getLayoutHelper, getMetadata, getResources, getString, getSummaryCaption, initLayoutHelper, panelDeactivate, panelValidated, parseText, saveData, setHelpUrl, setInitialFocus, showHelp, toString
 
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, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, 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, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

freeSpaceLabel

protected JLabel freeSpaceLabel
The free space label.


spaceLabel

protected JLabel spaceLabel
The space label.


descriptionArea

protected JTextArea descriptionArea
The tip label.


dependencyArea

protected JTextArea dependencyArea
The dependencies label.


packsTable

protected JTable packsTable
The packs table.


packsModel

protected PacksModel packsModel
The packs model.


tableScroller

protected JScrollPane tableScroller
The tablescroll.


bytes

protected long 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

Constructor Detail

PacksPanelBase

public PacksPanelBase(Panel panel,
                      InstallerFrame parent,
                      GUIInstallData installData,
                      Resources resources,
                      ObjectFactory factory,
                      RulesEngine rules)
Constructs a PacksPanelBase.

Parameters:
panel - the panel meta-data
parent - fhe parent window
installData - the installation data
resources - the resources
factory - the factory for creating PackValidator instances
rules - the rules engine
Method Detail

createNormalLayout

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


getMessages

public Messages getMessages()
Specified by:
getMessages in interface PacksPanelInterface

getBytes

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

setBytes

public void setBytes(long 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

createInstallationRecord

public void createInstallationRecord(IXMLElement panelRoot)
Asks to make the XML panel installDataGUI.

Overrides:
createInstallationRecord in class IzPanel
Parameters:
panelRoot - The XML tree to write the installDataGUI in.

valueChanged

public void valueChanged(ListSelectionEvent e)
Specified by:
valueChanged in interface ListSelectionListener

createLabel

protected JLabel createLabel(String msgId,
                             String iconId,
                             GridBagLayout layout,
                             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 JLabel createPanelWithLabel(String msgId,
                                      GridBagLayout layout,
                                      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 JTextArea createTextArea(String msgId,
                                   JScrollPane scroller,
                                   GridBagLayout layout,
                                   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 JTable createPacksTable(int width,
                                  JScrollPane scroller,
                                  GridBagLayout layout,
                                  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

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 String getSummaryBody()
Specified by:
getSummaryBody in interface ISummarisable
Overrides:
getSummaryBody in class IzPanel

getDebugger

public Debugger getDebugger()
Specified by:
getDebugger in interface PacksPanelInterface


Copyright © 2018. All rights reserved.