org.processmining.framework.util
Class GUIPropertyIntegerTextField

java.lang.Object
  extended by org.processmining.framework.util.GUIPropertyIntegerTextField
All Implemented Interfaces:
java.awt.event.KeyListener, java.util.EventListener

public class GUIPropertyIntegerTextField
extends java.lang.Object
implements java.awt.event.KeyListener

An integer property that can be readily displayed as it maintains its own GUI panel. The property will be graphically represented as a label containing the name of the property and a spinner according to the provided value range. If a description has been provided, it will be displayed as a tool tip.
Changes performed via the GUI will be immedeately propagated to the internally held property value. Furthermore, a notification target may be specified in order to be informed as soon as the value has been changed.

A typical usage scenario looks as follows:

JPanel testPanel = new Panel(); // create parent panel
testPanel.setLayout(new BoxLayout(testPanel, BoxLayout.PAGE_AXIS));
GUIPropertyInteger age = new GUIPropertyIntegerTextField("Age", 0, 0, 100);
testPanel.add(age.getPropertyPanel()); // add one property
GUIPropertyInteger height = new GUIPropertyIntegerTextField("Height", "Height in cm", 0, 50, 250);
testPanel.add(height.getPropertyPanel()); // add another property
return testPanel;

See Also:
getValue, getPropertyPanel

Constructor Summary
GUIPropertyIntegerTextField(java.lang.String name, int defaultValue)
          Creates an integer property without no minimal or maximal value.
GUIPropertyIntegerTextField(java.lang.String name, int defaultValue, int value, boolean minOrMax)
          Creates an integer property without no minimal or maximal value.
GUIPropertyIntegerTextField(java.lang.String name, int defaultValue, int minValue, int maxValue)
          Creates an integer property without a discription and notification.
GUIPropertyIntegerTextField(java.lang.String name, int defaultValue, int minValue, int maxValue, GuiNotificationTarget target)
          Creates an integer property without a discription.
GUIPropertyIntegerTextField(java.lang.String name, java.lang.String description, int defaultValue, GuiNotificationTarget target)
          Creates an integer property without no minimal or maximal value.
GUIPropertyIntegerTextField(java.lang.String name, java.lang.String description, int defaultValue, int minValue, int maxValue)
          Creates an integer property without notification.
GUIPropertyIntegerTextField(java.lang.String name, java.lang.String description, int defaultValue, int minValue, int maxValue, GuiNotificationTarget target)
          Creates an integer property.
 
Method Summary
 void disable()
          Prevents that this property may be manipulated via the GUI panel.
 void enable()
          Re-activates the possibility to manipulate this property via the GUI panel.
 javax.swing.JPanel getPropertyPanel()
          Creates GUI panel containg this property, ready to display in some settings dialog.
 int getValue()
          The method to be invoked when the value of this property is to be used.
 boolean isEnabled()
          Checks whether the textfield is currently enabled or disabled.
 void keyPressed(java.awt.event.KeyEvent e)
           
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
          The method automatically invoked when changing the text field status.
 void setValue(int value)
          Sets the value of this property
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GUIPropertyIntegerTextField

public GUIPropertyIntegerTextField(java.lang.String name,
                                   int defaultValue,
                                   int minValue,
                                   int maxValue)
Creates an integer property without a discription and notification.

Parameters:
name - the name of this property
defaultValue - the default value of this property
minValue - the minimal value that can be assigned to this property
maxValue - the maximal value that can be assigned to this property

GUIPropertyIntegerTextField

public GUIPropertyIntegerTextField(java.lang.String name,
                                   java.lang.String description,
                                   int defaultValue,
                                   int minValue,
                                   int maxValue)
Creates an integer property without notification.

Parameters:
name - the name of this property
description - of this property (to be displayed as a tool tip)
defaultValue - the default value of this property
minValue - the minimal value that can be assigned to this property
maxValue - the maximal value that can be assigned to this property

GUIPropertyIntegerTextField

public GUIPropertyIntegerTextField(java.lang.String name,
                                   int defaultValue,
                                   int minValue,
                                   int maxValue,
                                   GuiNotificationTarget target)
Creates an integer property without a discription.

Parameters:
name - the name of this property
defaultValue - the default value of this property
minValue - the minimal value that can be assigned to this property
maxValue - the maximal value that can be assigned to this property
target - the object to be notified as soon the state of this property changes

GUIPropertyIntegerTextField

public GUIPropertyIntegerTextField(java.lang.String name,
                                   java.lang.String description,
                                   int defaultValue,
                                   int minValue,
                                   int maxValue,
                                   GuiNotificationTarget target)
Creates an integer property.

Parameters:
name - the name of this property
description - of this property (to be displayed as a tool tip)
defaultValue - the default value of this property
minValue - the minimal value that can be assigned to this property
maxValue - the maximal value that can be assigned to this property
target - the object to be notified as soon the state of this property changes

GUIPropertyIntegerTextField

public GUIPropertyIntegerTextField(java.lang.String name,
                                   java.lang.String description,
                                   int defaultValue,
                                   GuiNotificationTarget target)
Creates an integer property without no minimal or maximal value.

Parameters:
name - the name of this property
description - of this property (to be displayed as a tool tip)
defaultValue - the default value of this property
target - the object to be notified as soon the state of this property changes

GUIPropertyIntegerTextField

public GUIPropertyIntegerTextField(java.lang.String name,
                                   int defaultValue)
Creates an integer property without no minimal or maximal value.

Parameters:
name - the name of this property
defaultValue - the default value of this property

GUIPropertyIntegerTextField

public GUIPropertyIntegerTextField(java.lang.String name,
                                   int defaultValue,
                                   int value,
                                   boolean minOrMax)
Creates an integer property without no minimal or maximal value.

Parameters:
name - the name of this property
defaultValue - the default value of this property
value - the minimal or maximal value of this property, based on the value set for minOrMax
minOrMax - if true then with value the minimal value will be specified, otherwise the maximal value will be specified
Method Detail

getValue

public int getValue()
The method to be invoked when the value of this property is to be used.

Returns:
the current value of this property

isEnabled

public boolean isEnabled()
Checks whether the textfield is currently enabled or disabled.

Returns:
true if is enabled, false otherwise

disable

public void disable()
Prevents that this property may be manipulated via the GUI panel.

See Also:
enable()

enable

public void enable()
Re-activates the possibility to manipulate this property via the GUI panel.

See Also:
disable()

setValue

public void setValue(int value)
Sets the value of this property

Parameters:
value - int

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
The method automatically invoked when changing the text field status.

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e - the passed action event (not used)

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener

getPropertyPanel

public javax.swing.JPanel getPropertyPanel()
Creates GUI panel containg this property, ready to display in some settings dialog.

Returns:
the graphical panel representing this property