Class GUIPropertyInteger

  • All Implemented Interfaces:
    java.util.EventListener, javax.swing.event.ChangeListener

    public class GUIPropertyInteger
    extends java.lang.Object
    implements javax.swing.event.ChangeListener
    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 GUIPropertyInteger("Age", 0, 0, 100);
    testPanel.add(age.getPropertyPanel()); // add one property
    GUIPropertyInteger height = new GUIPropertyInteger("Height", "Height in cm", 0, 50, 250);
    testPanel.add(height.getPropertyPanel()); // add another property
    return testPanel;
    See Also:
    getValue(), getPropertyPanel()
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean myEditable  
      protected int myWidth  
    • Constructor Summary

      Constructors 
      Constructor Description
      GUIPropertyInteger​(java.lang.String name, int defaultValue, int minValue, int maxValue)
      Creates an integer property without a discription and notification.
      GUIPropertyInteger​(java.lang.String name, int defaultValue, int minValue, int maxValue, GuiNotificationTarget target)
      Creates an integer property without a discription.
      GUIPropertyInteger​(java.lang.String name, java.lang.String description, int defaultValue, int minValue, int maxValue)
      Creates an integer property without notification.
      GUIPropertyInteger​(java.lang.String name, java.lang.String description, int defaultValue, int minValue, int maxValue, GuiNotificationTarget target, int width, boolean editable)
      Creates an integer property.
      GUIPropertyInteger​(java.lang.String name, java.lang.String description, int defaultValue, GuiNotificationTarget target, int width, boolean editable)
      Creates an integer property without a minimal and minimal value.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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 spinner is currently enabled or disabled.
      void setValue​(int value)
      Sets the value of this property
      void stateChanged​(javax.swing.event.ChangeEvent e)
      The method automatically invoked when changing the spinner status.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • myWidth

        protected int myWidth
      • myEditable

        protected boolean myEditable
    • Constructor Detail

      • GUIPropertyInteger

        public GUIPropertyInteger​(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
      • GUIPropertyInteger

        public GUIPropertyInteger​(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
      • GUIPropertyInteger

        public GUIPropertyInteger​(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
      • GUIPropertyInteger

        public GUIPropertyInteger​(java.lang.String name,
                                  java.lang.String description,
                                  int defaultValue,
                                  int minValue,
                                  int maxValue,
                                  GuiNotificationTarget target,
                                  int width,
                                  boolean editable)
        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
      • GUIPropertyInteger

        public GUIPropertyInteger​(java.lang.String name,
                                  java.lang.String description,
                                  int defaultValue,
                                  GuiNotificationTarget target,
                                  int width,
                                  boolean editable)
        Creates an integer property without a minimal and minimal 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
    • Method Detail

      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent e)
        The method automatically invoked when changing the spinner status.
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
        Parameters:
        e - The passed change event (not used).
      • 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 spinner 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 - double
      • 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