plugins.adufour.vars.gui.swing
Class FilesChooser

java.lang.Object
  extended by plugins.adufour.vars.gui.VarEditor<V>
      extended by plugins.adufour.vars.gui.swing.SwingVarEditor<java.io.File[]>
          extended by plugins.adufour.vars.gui.swing.FilesChooser
All Implemented Interfaces:
VarListener<java.io.File[]>

public class FilesChooser
extends SwingVarEditor<java.io.File[]>

File chooser component for the Vars library. This component is tailored to select a list of files via a JFileChooser component

Author:
Alexandre Dufour

Field Summary
 
Fields inherited from class plugins.adufour.vars.gui.VarEditor
variable
 
Constructor Summary
FilesChooser(Var<java.io.File[]> variable)
           
 
Method Summary
protected  void activateListeners()
          Activates listeners on the editor component.
 javax.swing.JComponent createEditorComponent()
          Creates the component to display on the graphical user interface, allowing the user to modify the variable's value via appropriate listeners (listeners should be added or removed via the VarEditor.activateListeners() and VarEditor.deactivateListeners() methods).
In order to allow multiple editors to modify the same variable, this method should always return a newly constructed component (by Swing design, a same component can only be used once per interface).
Once created, the component is stored in the final VarEditor.editorComponent field to avoid unnecessary re-creations (e.g.
protected  void deactivateListeners()
          Deactivates listeners on the editor component.
 javax.swing.JButton getEditorComponent()
           
 void setButtonText(java.lang.String text)
          Replaces the button text by the given string
protected  void updateInterfaceValue()
          Updates the graphical interface component to reflect the new value of the underlying variable (accessible via the Var.getValue() method).
 
Methods inherited from class plugins.adufour.vars.gui.swing.SwingVarEditor
getPreferredSize, isComponentEnabled, isComponentOpaque, setComponentToolTipText, setEditorEnabled
 
Methods inherited from class plugins.adufour.vars.gui.VarEditor
dispose, getComponentHorizontalResizeFactor, getComponentVerticalResizeFactor, getVariable, isComponentFocusable, isComponentResizeable, isNameVisible, referenceChanged, setComponentFocusable, setComponentResizeable, setEnabled, setNameVisible, valueChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FilesChooser

public FilesChooser(Var<java.io.File[]> variable)
Method Detail

createEditorComponent

public javax.swing.JComponent createEditorComponent()
Description copied from class: VarEditor
Creates the component to display on the graphical user interface, allowing the user to modify the variable's value via appropriate listeners (listeners should be added or removed via the VarEditor.activateListeners() and VarEditor.deactivateListeners() methods).
In order to allow multiple editors to modify the same variable, this method should always return a newly constructed component (by Swing design, a same component can only be used once per interface).
Once created, the component is stored in the final VarEditor.editorComponent field to avoid unnecessary re-creations (e.g. during interface refresh). To bypass this optimization and force the creation of a new component for every interface refresh, consider overriding the VarEditor.getEditorComponent() method.

WARNING: this method is called within the VarEditor.VarEditor(Var) constructor, therefore all instance fields besides the final VarEditor.variable field will be null until this method returns.

Specified by:
createEditorComponent in class SwingVarEditor<java.io.File[]>
Returns:
a graphical input component that is linked to the variable and can be used to view or adjust the variable value

setButtonText

public void setButtonText(java.lang.String text)
Replaces the button text by the given string

Parameters:
text -

updateInterfaceValue

protected void updateInterfaceValue()
Description copied from class: VarEditor
Updates the graphical interface component to reflect the new value of the underlying variable (accessible via the Var.getValue() method).

Specified by:
updateInterfaceValue in class VarEditor<java.io.File[]>

getEditorComponent

public javax.swing.JButton getEditorComponent()
Overrides:
getEditorComponent in class SwingVarEditor<java.io.File[]>
Returns:
the graphical component used to view or modify the variable's value. By default, the returned component is the one created by the VarEditor.createEditorComponent() method during object construction. This method can be overridden to return a new component for each call (note however that this method may be called many times, e.g. during interface refresh)

activateListeners

protected void activateListeners()
Description copied from class: VarEditor
Activates listeners on the editor component. Listeners should be activated here rather than in the VarEditor.createEditorComponent() method, in order to allow the target containers to optimize the scheduling and load of events to fire, and to ensure proper garbage collection when the interface is destroyed.

Specified by:
activateListeners in class VarEditor<java.io.File[]>

deactivateListeners

protected void deactivateListeners()
Description copied from class: VarEditor
Deactivates listeners on the editor component. Listeners should be deactivated here rather than in the VarEditor.createEditorComponent() method, in order to allow the target containers to optimize the scheduling and load of events to fire, and to ensure proper garbage collection when the interface is destroyed.

Specified by:
deactivateListeners in class VarEditor<java.io.File[]>