com.izforge.izpack.installer
Class InstallerFrame

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended bycom.izforge.izpack.installer.InstallerFrame
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class InstallerFrame
extends javax.swing.JFrame

The IzPack installer frame.

Author:
Julien Ponge created October 27, 2002
See Also:
Serialized Form

Nested Class Summary
(package private)  class InstallerFrame.NavigationHandler
          Handles the events from the navigation bar elements.
(package private)  class InstallerFrame.WindowHandler
          The window events handler.
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JPanel contentPane
          The frame content pane.
 IconsDatabase icons
          The icons database.
protected  InstallData installdata
          The installation data.
 LocaleDatabase langpack
          The language pack.
private  javax.swing.JLabel madewithLabel
          The 'made with izpack' label, please KEEP IT THERE.
protected  javax.swing.JButton nextButton
          The next button.
protected  javax.swing.JPanel panelsContainer
          The panels container.
protected  javax.swing.JButton prevButton
          The previous button.
protected  javax.swing.JButton quitButton
          The quit button.
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
InstallerFrame(java.lang.String title, InstallData installdata)
          The constructor (normal mode).
 
Method Summary
 void blockGUI()
          Blocks GUI interaction.
 void buildConstraints(java.awt.GridBagConstraints gbc, int gx, int gy, int gw, int gh, double wx, double wy)
          Sets the parameters of a GridBagConstraints object.
private  void buildGUI()
          Builds the GUI.
 void centerFrame(java.awt.Window frame)
          Centers a window on screen.
private  void cleanWipe(java.io.File file)
          Recursive files wiper.
 void exit()
          Makes a clean closing.
 java.awt.Dimension getPanelsContainerSize()
          Returns the panels container size.
 java.io.InputStream getResource(java.lang.String res)
          Gets the stream to a resource.
 void install(AbstractUIProgressHandler listener)
          Launches the installation.
private  void loadIcons()
          Loads the icons.
private  void loadPanels()
          Loads the panels.
 void lockNextButton()
          Locks the 'next' button.
 void lockPrevButton()
          Locks the 'previous' button.
 void releaseGUI()
          Releases GUI interaction.
private  void showFrame()
          Shows the frame.
 void skipPanel()
          Allows a panel to ask to be skipped.
protected  void switchPanel(int last)
          Switches the current panel.
 void unlockNextButton()
          Unlocks the 'next' button.
 void unlockPrevButton()
          Unlocks the 'previous' button.
protected  void wipeAborted()
          Wipes the written files when you abort the installation.
private  void writeUninstallData()
          Writes the uninstalldata.
 void writeXMLTree(XMLElement root, java.io.OutputStream out)
          Writes an XML tree.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

langpack

public LocaleDatabase langpack
The language pack.


installdata

protected InstallData installdata
The installation data.


icons

public IconsDatabase icons
The icons database.


panelsContainer

protected javax.swing.JPanel panelsContainer
The panels container.


contentPane

protected javax.swing.JPanel contentPane
The frame content pane.


prevButton

protected javax.swing.JButton prevButton
The previous button.


nextButton

protected javax.swing.JButton nextButton
The next button.


quitButton

protected javax.swing.JButton quitButton
The quit button.


madewithLabel

private javax.swing.JLabel madewithLabel
The 'made with izpack' label, please KEEP IT THERE.

Constructor Detail

InstallerFrame

public InstallerFrame(java.lang.String title,
                      InstallData installdata)
               throws java.lang.Exception
The constructor (normal mode).

Parameters:
title - The window title.
installdata - The installation data.
Throws:
java.lang.Exception - Description of the Exception
Method Detail

loadPanels

private void loadPanels()
                 throws java.lang.Exception
Loads the panels.

Throws:
java.lang.Exception - Description of the Exception

loadIcons

private void loadIcons()
                throws java.lang.Exception
Loads the icons.

Throws:
java.lang.Exception - Description of the Exception

buildGUI

private void buildGUI()
Builds the GUI.


showFrame

private void showFrame()
Shows the frame.


switchPanel

protected void switchPanel(int last)
Switches the current panel.

Parameters:
last - Description of the Parameter

writeUninstallData

private void writeUninstallData()
Writes the uninstalldata.


getResource

public java.io.InputStream getResource(java.lang.String res)
Gets the stream to a resource.

Parameters:
res - The resource id.
Returns:
The resource value, null if not found

centerFrame

public void centerFrame(java.awt.Window frame)
Centers a window on screen.

Parameters:
frame - The window tp center.

getPanelsContainerSize

public java.awt.Dimension getPanelsContainerSize()
Returns the panels container size.

Returns:
The panels container size.

buildConstraints

public void buildConstraints(java.awt.GridBagConstraints gbc,
                             int gx,
                             int gy,
                             int gw,
                             int gh,
                             double wx,
                             double wy)
Sets the parameters of a GridBagConstraints object.

Parameters:
gbc - The constraints object.
gx - The x coordinates.
gy - The y coordinates.
gw - The width.
wx - The x wheight.
wy - The y wheight.
gh - Description of the Parameter

exit

public void exit()
Makes a clean closing.


wipeAborted

protected void wipeAborted()
Wipes the written files when you abort the installation.


cleanWipe

private void cleanWipe(java.io.File file)
Recursive files wiper.

Parameters:
file - The file to wipe.

install

public void install(AbstractUIProgressHandler listener)
Launches the installation.

Parameters:
listener - The installation listener.

writeXMLTree

public void writeXMLTree(XMLElement root,
                         java.io.OutputStream out)
                  throws java.lang.Exception
Writes an XML tree.

Parameters:
root - The XML tree to write out.
out - The stream to write on.
Throws:
java.lang.Exception - Description of the Exception

blockGUI

public void blockGUI()
Blocks GUI interaction.


releaseGUI

public void releaseGUI()
Releases GUI interaction.


lockPrevButton

public void lockPrevButton()
Locks the 'previous' button.


lockNextButton

public void lockNextButton()
Locks the 'next' button.


unlockPrevButton

public void unlockPrevButton()
Unlocks the 'previous' button.


unlockNextButton

public void unlockNextButton()
Unlocks the 'next' button.


skipPanel

public void skipPanel()
Allows a panel to ask to be skipped.