com.izforge.izpack.installer
Class GUIInstaller.LanguageDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by com.izforge.izpack.installer.GUIInstaller.LanguageDialog
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Enclosing class:
GUIInstaller

private final class GUIInstaller.LanguageDialog
extends javax.swing.JDialog
implements java.awt.event.ActionListener

Used to prompt the user for the language. Languages can be displayed in iso3 or the native notation or the notation of the default locale. Revising to native notation is based on code from Christian Murphy (patch #395).

Author:
Julien Ponge, Christian Murphy, Klaus Bartz

Nested Class Summary
private  class GUIInstaller.LanguageDialog.WindowHandler
          The window events handler.
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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
private  javax.swing.JComboBox comboBox
          The combo box.
private  java.util.HashMap iso3Toiso2
          The ISO3 to ISO2 HashMap
private  boolean isoMapExpanded
          iso3Toiso2 expanded ?
private  javax.swing.JButton okButton
          The ok button.
private static long serialVersionUID
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
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, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
GUIInstaller.LanguageDialog(javax.swing.JFrame frame, java.lang.Object[] items)
          The constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Closer.
private  java.lang.Object expandItem(java.lang.Object item, java.awt.Font testFont)
          Expands the given iso3 code to a language name.
private  java.lang.Object[] expandItems(java.lang.Object[] items, java.awt.Font testFont)
          Expands the given iso3 codes to language names.
 javax.swing.ImageIcon getImage()
          Loads an image.
 java.lang.Object getSelection()
          Gets the selected object.
private  java.lang.Object[] reviseItems(java.lang.Object[] items)
          Revises iso3 language items depending on the language display type.
 void setSelection(java.lang.Object item)
          Sets the selection.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, 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.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, 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, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, 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, getMousePosition, 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, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

comboBox

private javax.swing.JComboBox comboBox
The combo box.


okButton

private javax.swing.JButton okButton
The ok button.


iso3Toiso2

private java.util.HashMap iso3Toiso2
The ISO3 to ISO2 HashMap


isoMapExpanded

private boolean isoMapExpanded
iso3Toiso2 expanded ?

Constructor Detail

GUIInstaller.LanguageDialog

public GUIInstaller.LanguageDialog(javax.swing.JFrame frame,
                                   java.lang.Object[] items)
The constructor.

Parameters:
items - The items to display in the box.
Method Detail

reviseItems

private java.lang.Object[] reviseItems(java.lang.Object[] items)
Revises iso3 language items depending on the language display type.

Parameters:
items - item array to be revised
Returns:
the revised array

expandItems

private java.lang.Object[] expandItems(java.lang.Object[] items,
                                       java.awt.Font testFont)
Expands the given iso3 codes to language names. If a testFont is given, the codes are tested whether they can displayed or not. If not, or no font given, the language name will be returned as written in the default language of this VM.

Parameters:
items - item array to be expanded to the language name
testFont - font to test wheter a name is displayable
Returns:
aray of expanded items

expandItem

private java.lang.Object expandItem(java.lang.Object item,
                                    java.awt.Font testFont)
Expands the given iso3 code to a language name. If a testFont is given, the code will be tested whether it is displayable or not. If not, or no font given, the language name will be returned as written in the default language of this VM.

Parameters:
item - item to be expanded to the language name
testFont - font to test wheter the name is displayable
Returns:
expanded item

getImage

public javax.swing.ImageIcon getImage()
Loads an image.

Returns:
The image icon.

getSelection

public java.lang.Object getSelection()
Gets the selected object.

Returns:
The selected item.

setSelection

public void setSelection(java.lang.Object item)
Sets the selection.

Parameters:
item - The item to be selected.

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Closer.

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