plugins.adufour.vars.gui.swing
Class Label<T>

java.lang.Object
  extended by plugins.adufour.vars.gui.VarEditor<V>
      extended by plugins.adufour.vars.gui.swing.SwingVarEditor<T>
          extended by plugins.adufour.vars.gui.swing.Label<T>
All Implemented Interfaces:
VarListener<T>

public class Label<T>
extends SwingVarEditor<T>


Field Summary
 int MAX_WIDTH
           
 
Fields inherited from class plugins.adufour.vars.gui.VarEditor
variable
 
Constructor Summary
Label(Var<T> variable)
           
 
Method Summary
protected  void activateListeners()
          Activates listeners on the editor component.
protected  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.
 double getComponentVerticalResizeFactor()
          Indicates whether and how this component should resize vertically if the container panel allows resizing.
 javax.swing.JLabel getEditorComponent()
           
 java.awt.Dimension getPreferredSize()
           
 boolean isComponentResizeable()
           
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
isComponentEnabled, isComponentOpaque, setComponentToolTipText, setEditorEnabled
 
Methods inherited from class plugins.adufour.vars.gui.VarEditor
dispose, getComponentHorizontalResizeFactor, getVariable, isComponentFocusable, 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
 

Field Detail

MAX_WIDTH

public final int MAX_WIDTH
See Also:
Constant Field Values
Constructor Detail

Label

public Label(Var<T> variable)
Method Detail

createEditorComponent

protected 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<T>
Returns:
a graphical input component that is linked to the variable and can be used to view or adjust the variable value

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<T>

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<T>

getEditorComponent

public javax.swing.JLabel getEditorComponent()
Overrides:
getEditorComponent in class SwingVarEditor<T>
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)

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class SwingVarEditor<T>
Returns:
The preferred dimension of the local VarEditor.editorComponent. By default, this method calls the component's JComponent.getPreferredSize() method. However, this method can be overridden to provide a custom dimension, e.g. to fix the size of the component regardless of its content

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<T>

isComponentResizeable

public boolean isComponentResizeable()
Overrides:
isComponentResizeable in class VarEditor<T>
Returns:
true if the container panel should allow this component to be resized, false otherwise

getComponentVerticalResizeFactor

public double getComponentVerticalResizeFactor()
Description copied from class: VarEditor
Indicates whether and how this component should resize vertically if the container panel allows resizing. If multiple components in the same panel support resizing, the amount of extra space available will be shared between all components depending on the returned weight (from 0 for no resizing to 1 for maximum resizing).
By default, this value is 0.0 (no vertical resizing)

Overrides:
getComponentVerticalResizeFactor in class VarEditor<T>
Returns:
a value from 0 (no resize allowed) to 1 (resize as much as possible)