gishur.awt
Class SymbolButton

java.lang.Object
  |
  +--gishur.awt.SymbolbarElement
        |
        +--gishur.awt.SymbolButton
All Implemented Interfaces:
java.awt.event.ActionListener, java.util.EventListener, java.awt.event.ItemListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener
Direct Known Subclasses:
SymbolImageButton

public class SymbolButton
extends SymbolbarElement
implements java.awt.event.ActionListener, java.awt.event.ItemListener

Ein Button für eine Symbolleiste. Es können Befehls- und Umschaltbuttons erzeugt werden. Zusätzlich kann ein Symbolbutton mit einem MenuItem verknüft werden, das dann dieselbe Funktion übernimmt.

Version:
1.1
Author:
Thomas Wolf

Field Summary
static byte BUTTON
          Normaler Button.
static byte DONT_PAINT_BACKGROUND
          Button-Hintergrund nicht zeichnen.
 int preferredHeight
          Preferred Height of the button
 java.awt.Color pressedColor
          Buttonfarbe bei eingedrücktem Umschaltknopf.
static byte SWITCH_BUTTON
          Umschalt-Button.
static int SYMBOLBUTTON_ACTION
          Button gedrückt.
static int SYMBOLBUTTON_OFF
          Umschaltfläche ausgeschaltet.
static int SYMBOLBUTTON_ON
          Umschaltfläche eingeschaltet.
 
Fields inherited from class gishur.awt.SymbolbarElement
_needs_repaint, command, label, width
 
Constructor Summary
SymbolButton()
          Leerer Konstruktor.
SymbolButton(java.lang.String label)
          Konstruktor.
SymbolButton(java.lang.String label, boolean switchbutton)
          Konstruktor.
SymbolButton(java.lang.String label, java.lang.String command, boolean switchbutton)
          Konstruktor.
 
Method Summary
 void action()
          Button hat Status geändert, ein Event oder eine Aktion sollte ausgelöst werden.
 void actionPerformed(java.awt.event.ActionEvent e)
          Verarbeitet Events von MenuItems.
protected  boolean buttonDown()
          Ist _button_down gesetzt?
 void disable()
          Schaltet das Symbolelement aus.
 void enable()
          Schaltet das Symbolelement ein.
 java.awt.MenuItem generateMenuItem()
          Erzeugt ein neues MenuItem mit dem Label label und verknüpft es mit dem Symbolbutton (wie setMenuItem).
 int getPreferredHeight()
          Liefert die bevorzugte Höhe des Elements (sollte konstant sein).
 void itemStateChanged(java.awt.event.ItemEvent e)
          Verarbeitet Events von CheckboxMenuItems.
 java.awt.MenuItem menuItem()
          Liefert das zugeordnete MenuItem zurück.
 void mouseClicked(java.awt.event.MouseEvent e)
          Invoked when the mouse has been clicked on a component.
 void mouseDragged(java.awt.event.MouseEvent e)
          Invoked when a mouse button is pressed on a component and then dragged.
 void mouseEntered(java.awt.event.MouseEvent e)
          Invoked when the mouse enters a component.
 void mouseExited(java.awt.event.MouseEvent e)
          Invoked when the mouse exits a component.
 void mouseMoved(java.awt.event.MouseEvent e)
          Invoked when the mouse button has been moved on a component (with no buttons no down).
 void mousePressed(java.awt.event.MouseEvent e)
          Invoked when a mouse button has been pressed on a component.
 void mouseReleased(java.awt.event.MouseEvent e)
          Invoked when a mouse button has been released on a component.
 void onActivate()
          Beim aktivieren des Buttons.
 void onDeactivate()
          Beim deaktivieren des Buttons.
 void paintDisabled(java.awt.Graphics g, int height)
          Malt den grauen Button-Inhalt
 void paintEnabled(java.awt.Graphics g, int height)
          Malt den normalen Button-Inhalt.
 boolean pressed()
          Liest den Button-Status
 void setButton(boolean state)
          Setzt den Button-Status
 void setCommand(java.lang.String comm)
          Setzt den Kommandostring command für den Symbolbutton und das verknüpfte MenuItem.
 void setLabel(java.lang.String label)
          Setzt die Beschreibung des Elementes.
 void setMenuItem(java.awt.MenuItem item)
          Weist dem Button ein MenuItem zu, das dann dieselbe Funktion übernimmt.
 void setMode(byte newmode)
          Setzt den neuen Modus.
 boolean testMode(byte testmode)
          Liefert true, falls der zu testende Modus gesetzt wurde.
 void unsetMode(byte mode)
          Löscht den Modus.
 void update(java.awt.Graphics g, int height)
          Zeichnet das Element neu.
 
Methods inherited from class gishur.awt.SymbolbarElement
active, enabled, getCommand, getLabel, getParent, getSize, setActive, setParent, setSize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SYMBOLBUTTON_ACTION

public static final int SYMBOLBUTTON_ACTION
Button gedrückt.

SYMBOLBUTTON_ON

public static final int SYMBOLBUTTON_ON
Umschaltfläche eingeschaltet.

SYMBOLBUTTON_OFF

public static final int SYMBOLBUTTON_OFF
Umschaltfläche ausgeschaltet.

pressedColor

public java.awt.Color pressedColor
Buttonfarbe bei eingedrücktem Umschaltknopf.

BUTTON

public static final byte BUTTON
Normaler Button.

SWITCH_BUTTON

public static final byte SWITCH_BUTTON
Umschalt-Button.

DONT_PAINT_BACKGROUND

public static final byte DONT_PAINT_BACKGROUND
Button-Hintergrund nicht zeichnen.

preferredHeight

public int preferredHeight
Preferred Height of the button
Constructor Detail

SymbolButton

public SymbolButton(java.lang.String label,
                    java.lang.String command,
                    boolean switchbutton)
Konstruktor. Übergibt einen Label.
Parameters:
label - Label des Buttons
command - Commandoname für ActionEvent
switchbutton - falls true, so wird die Schaltfläche eine Umschaltfläche

SymbolButton

public SymbolButton(java.lang.String label,
                    boolean switchbutton)
Konstruktor. Übergibt einen Label.
Parameters:
label - Label des Buttons
switchbutton - falls true, so wird die Schaltfläche eine Umschaltfläche

SymbolButton

public SymbolButton(java.lang.String label)
Konstruktor. Übergibt einen Label.
Parameters:
label - Label des Buttons

SymbolButton

public SymbolButton()
Leerer Konstruktor.
Method Detail

setMenuItem

public void setMenuItem(java.awt.MenuItem item)
Weist dem Button ein MenuItem zu, das dann dieselbe Funktion übernimmt. Das MenuItem bekommt als ActionListener die Symbolleiste, die dann alle Events des MenuItems an seine ActionListener weiterleitet. Desweiteren bekommt das MenuItem denselben Kommandostring wie der Symbolbutton. Der Kommandostring wird nur dann am MenuItem mitgeändert, wenn er über die Funktion setCommand() gesetzt wird, nicht jedoch, wenn die öffentliche Variable command geändert wird.
Parameters:
item - MenuItem

generateMenuItem

public java.awt.MenuItem generateMenuItem()
Erzeugt ein neues MenuItem mit dem Label label und verknüpft es mit dem Symbolbutton (wie setMenuItem).
Returns:
neues MenuItem
See Also:
setMenuItem(java.awt.MenuItem)

menuItem

public java.awt.MenuItem menuItem()
Liefert das zugeordnete MenuItem zurück.
Returns:
MenuItem

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Verarbeitet Events von MenuItems.
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - ActionEvent

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Verarbeitet Events von CheckboxMenuItems.
Specified by:
itemStateChanged in interface java.awt.event.ItemListener
Parameters:
e - ItemEvent

pressed

public boolean pressed()
Liest den Button-Status
Returns:
true, falls gedrückt

buttonDown

protected boolean buttonDown()
Ist _button_down gesetzt?
Returns:
true falls Button momentan gedrückt

setButton

public void setButton(boolean state)
Setzt den Button-Status
Parameters:
state - neuer Buttonstatus (true entspricht gedrückt)

testMode

public boolean testMode(byte testmode)
Liefert true, falls der zu testende Modus gesetzt wurde.
Parameters:
testmode - zu testende Modus-Konstante
Returns:
true, falls Modus gesetzt

setMode

public void setMode(byte newmode)
Setzt den neuen Modus.
Parameters:
newmode - neuer Modus

unsetMode

public void unsetMode(byte mode)
Löscht den Modus.
Parameters:
mode - zu löschender Modus

setCommand

public void setCommand(java.lang.String comm)
Setzt den Kommandostring command für den Symbolbutton und das verknüpfte MenuItem.
Overrides:
setCommand in class SymbolbarElement
Parameters:
comm - neuer Kommandostring

setLabel

public void setLabel(java.lang.String label)
Setzt die Beschreibung des Elementes.
Overrides:
setLabel in class SymbolbarElement
Parameters:
label - Beschreibung

enable

public void enable()
Schaltet das Symbolelement ein. Nur im eingeschalteten Modus werden MouseEvents empfangen.
Overrides:
enable in class SymbolbarElement

disable

public void disable()
Schaltet das Symbolelement aus.
Overrides:
disable in class SymbolbarElement

getPreferredHeight

public int getPreferredHeight()
Liefert die bevorzugte Höhe des Elements (sollte konstant sein).
Overrides:
getPreferredHeight in class SymbolbarElement
Returns:
bevorzugte Höhe

paintEnabled

public void paintEnabled(java.awt.Graphics g,
                         int height)
Malt den normalen Button-Inhalt.

paintDisabled

public void paintDisabled(java.awt.Graphics g,
                          int height)
Malt den grauen Button-Inhalt

onActivate

public void onActivate()
Beim aktivieren des Buttons.

onDeactivate

public void onDeactivate()
Beim deaktivieren des Buttons.

action

public void action()
Button hat Status geändert, ein Event oder eine Aktion sollte ausgelöst werden.

update

public void update(java.awt.Graphics g,
                   int height)
Zeichnet das Element neu.
Overrides:
update in class SymbolbarElement
Parameters:
g - Graphics, auf das gezeichnet werden soll.
height - Höhe des zu zeichnenden Bereiches.

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Invoked when the mouse has been clicked on a component.
Overrides:
mouseClicked in class SymbolbarElement

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Invoked when a mouse button has been pressed on a component.
Overrides:
mousePressed in class SymbolbarElement

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Invoked when a mouse button has been released on a component.
Overrides:
mouseReleased in class SymbolbarElement

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Invoked when the mouse enters a component.
Overrides:
mouseEntered in class SymbolbarElement

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Invoked when the mouse exits a component.
Overrides:
mouseExited in class SymbolbarElement

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Invoked when a mouse button is pressed on a component and then dragged. Mouse drag events will continue to be delivered to the component where the first originated until the mouse button is released (regardless of whether the mouse position is within the bounds of the component).
Overrides:
mouseDragged in class SymbolbarElement

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Invoked when the mouse button has been moved on a component (with no buttons no down).
Overrides:
mouseMoved in class SymbolbarElement