fr.lip6.sma.simulacion.app
Class ApplicationChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by fr.lip6.sma.simulacion.app.LocalizedWindow
                          extended by fr.lip6.sma.simulacion.app.ApplicationChooser
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class ApplicationChooser
extends LocalizedWindow

Classe générique pour lancer différents programmes Simulación.

Version:
$Revision: 3 $
Author:
Paul Guyot
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int CONSOLE_ALWAYS_ENABLED
          Console activée de toute façon.
static int CONSOLE_DEFAULT
          Pas d'information sur la console.
static int CONSOLE_DISABLED_BY_DEFAULT
          Console désactivée par défaut.
static int CONSOLE_ENABLED_BY_DEFAULT
          Console activée par défaut.
static int CONSOLE_UNAVAILABLE
          Console inaccessible.
private  List mAppConsoleSettings
          Tableau de la préférence pour la console.
private  JList mAppList
          Vue sur la liste des applications.
private  List mAppNames
          Tableau des noms des applications.
private  List mAppParams
          Tableau des paramètres des applications.
private  JScrollPane mAppScrollPane
          Scroll pane pour les applications.
private  String[] mArgs
          Liste des arguments.
private  Configuration mConfiguration
          Référence sur la configuration.
private  JCheckBox mConsoleCheckBox
          Checkbox pour ouvrir une console graphique.
private  String[] mCurrentAppClass
          Classe avec le nom de la classe (et les paramètres pour main) de l'application à lancer.
private  boolean mIgnoreChanges
          Si on ignore les changements.
private  JComboBox mLocaleCombo
          Popup pour la langue.
private  List mLocales
          Tableau des localisations.
private  JToggleButton mQuitButton
          Bouton pour quitter.
private  JToggleButton mStartButton
          Bouton pour démarrer.
private  JLabel mTopLabel
          Message au-dessus.
 
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.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
ApplicationChooser(String inConfigPath, String[] inArgs)
          Constructeur à partir du chemin vers le fichier de configuration et des arguments.
 
Method Summary
protected  void addEntryPoint(String inName, int inConsoleSetting, String inClass)
          Ajoute un point d'entrée dans le menu.
protected  void addEntryPoint(String inName, int inConsoleSetting, String inClass, String inArg)
          Ajoute un point d'entrée dans le menu.
private  void appListSelectionChanged()
          Méthode invoquée lorsque la sélection dans la liste des tests est changée.
private  JPanel createButtons()
          Méthode pour créer les boutons au démarrage de l'application.
private  void fillLocalesCombo()
          Construit le popup avec toutes les localités disponibles.
protected  void init()
          Méthode pour initialiser la fenêtre.
protected  void initComponents()
          Méthode pour initialiser les composants au démarrage de l'application.
protected  void initComponentsLocalizedContent()
          Initialise la partie traduite des composants.
private  void localeChanged()
          Méthode invoquée lorsque la sélection du menu des localités change.
private static String[] mergeArgs(String inArg1, String[] inArgs2)
          Fusionne un tableau d'arguments avec un argument.
private static String[] mergeArgs(String inArg1, String inArg2, String[] inArgs3)
          Fusionne un tableau d'arguments avec deux arguments.
protected  void resetComponentsLocalizedContent()
          Réinitialise la partie traduite des composants.
 void startButtonActionPerformed(ActionEvent inEvent)
          Méthode invoquée lorsque le bouton démarrer est cliqué.
 
Methods inherited from class fr.lip6.sma.simulacion.app.LocalizedWindow
addNotify, centerWindow, doQuit, localizeAbstractButton, localizeComponent, localizeCompoundBorder, localizeContainer, localizeFrame, localizeJComponent, localizeJProgressBar, localizeLabel, localizeMenuElement, localizeString, localizeTextComponent, pack, resetDefaultLocale, thisWindowClosing
 
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, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, 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, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, 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, 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, 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, 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
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

CONSOLE_DEFAULT

public static final int CONSOLE_DEFAULT
Pas d'information sur la console.

See Also:
Constant Field Values

CONSOLE_DISABLED_BY_DEFAULT

public static final int CONSOLE_DISABLED_BY_DEFAULT
Console désactivée par défaut.

See Also:
Constant Field Values

CONSOLE_ENABLED_BY_DEFAULT

public static final int CONSOLE_ENABLED_BY_DEFAULT
Console activée par défaut.

See Also:
Constant Field Values

CONSOLE_UNAVAILABLE

public static final int CONSOLE_UNAVAILABLE
Console inaccessible.

See Also:
Constant Field Values

CONSOLE_ALWAYS_ENABLED

public static final int CONSOLE_ALWAYS_ENABLED
Console activée de toute façon.

See Also:
Constant Field Values

mAppScrollPane

private final JScrollPane mAppScrollPane
Scroll pane pour les applications.


mLocaleCombo

private final JComboBox mLocaleCombo
Popup pour la langue.


mIgnoreChanges

private boolean mIgnoreChanges
Si on ignore les changements.


mStartButton

private final JToggleButton mStartButton
Bouton pour démarrer.


mQuitButton

private final JToggleButton mQuitButton
Bouton pour quitter.


mConsoleCheckBox

private final JCheckBox mConsoleCheckBox
Checkbox pour ouvrir une console graphique.


mTopLabel

private final JLabel mTopLabel
Message au-dessus.


mArgs

private String[] mArgs
Liste des arguments.


mAppNames

private final List mAppNames
Tableau des noms des applications.


mAppParams

private final List mAppParams
Tableau des paramètres des applications.


mAppConsoleSettings

private final List mAppConsoleSettings
Tableau de la préférence pour la console. (entier).


mLocales

private final List mLocales
Tableau des localisations.


mConfiguration

private final Configuration mConfiguration
Référence sur la configuration.


mCurrentAppClass

private String[] mCurrentAppClass
Classe avec le nom de la classe (et les paramètres pour main) de l'application à lancer.


mAppList

private JList mAppList
Vue sur la liste des applications.

Constructor Detail

ApplicationChooser

public ApplicationChooser(String inConfigPath,
                          String[] inArgs)
Constructeur à partir du chemin vers le fichier de configuration et des arguments.

Parameters:
inConfigPath - chemin vers le fichier de configuration.
inArgs - arguments de la ligne de commande.
Method Detail

init

protected void init()
Méthode pour initialiser la fenêtre.


initComponents

protected void initComponents()
Méthode pour initialiser les composants au démarrage de l'application.


resetComponentsLocalizedContent

protected void resetComponentsLocalizedContent()
Réinitialise la partie traduite des composants.


initComponentsLocalizedContent

protected void initComponentsLocalizedContent()
Initialise la partie traduite des composants.


createButtons

private JPanel createButtons()
Méthode pour créer les boutons au démarrage de l'application.

Returns:
le composant qui contient les boutons.

fillLocalesCombo

private void fillLocalesCombo()
Construit le popup avec toutes les localités disponibles. Répond aux choix dans le menu en changeant la traduction dans la configuration.


appListSelectionChanged

private void appListSelectionChanged()
Méthode invoquée lorsque la sélection dans la liste des tests est changée.


localeChanged

private void localeChanged()
Méthode invoquée lorsque la sélection du menu des localités change.


startButtonActionPerformed

public void startButtonActionPerformed(ActionEvent inEvent)
Méthode invoquée lorsque le bouton démarrer est cliqué. On lance le test courant.

Parameters:
inEvent - l'événement du clic (ignoré).

mergeArgs

private static String[] mergeArgs(String inArg1,
                                  String[] inArgs2)
Fusionne un tableau d'arguments avec un argument.

Parameters:
inArg1 - premier argument.
inArgs2 - tableau d'arguments.
Returns:
un nouveau tableau avec inArg1 puis les éléments de inArgs2.

mergeArgs

private static String[] mergeArgs(String inArg1,
                                  String inArg2,
                                  String[] inArgs3)
Fusionne un tableau d'arguments avec deux arguments.

Parameters:
inArg1 - premier argument.
inArg2 - deuxième argument.
inArgs3 - tableau d'arguments.
Returns:
un nouveau tableau avec inArg1, inArg2 puis les éléments de inArgs3.

addEntryPoint

protected void addEntryPoint(String inName,
                             int inConsoleSetting,
                             String inClass)
Ajoute un point d'entrée dans le menu.

Parameters:
inName - nom du point d'entrée.
inConsoleSetting - réglage pour la console.
inClass - nom de la classe.

addEntryPoint

protected void addEntryPoint(String inName,
                             int inConsoleSetting,
                             String inClass,
                             String inArg)
Ajoute un point d'entrée dans le menu.

Parameters:
inName - nom du point d'entrée.
inConsoleSetting - réglage pour la console.
inClass - nom de la classe.
inArg - argument.