|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectfr.lri.swingstates.sm.Tag
fr.lri.swingstates.sm.JTag
public abstract class JTag
JTags are labels associated to components.
A tag is an object corresponding to a set of JComponent
objects that can be browsed (i.e. a collection and an iterator on it). One
example is a JNamedTag which is a set of components having a
given label attached to them.
Any component has a default tag of the name of its class. For instance, one can write a state machine that contains a transition that is fired only when occuring on JButton components:
JStateMachine sm = new JStateMachine() {
public State s = new State() {
Transition onlyOnButtons = new Press("javax.swing.JButton", BUTTON1) {
public void action() {
System.out.println("press on a the button named " + ((JButton) getSource()).getText());
}
};
};
};
Some tags, JExtensionalTag tags, can be explicitely attached
to and detached from a component, i.e. a component can be added to or removed
from the tag's collection, while others can not.
A tag can be attached to any number of components. A component can have any number of tags attached to it.
Tags are used for two main purposes : grouping and interaction.
action() calls the method action(JComponent)
for any component having this tag. Redefine the method
action(JComponent) to define a specific behavior such as
changing the background color of all the tagged components.
class ColorChangingComponent extends JTag {
...
void action(JComponent c) {
c.setBackground(Color.RED);
}
...
}
Calling the method action() on a
ColorChangingComponent causes background of every tagged
component being red.
ClickOnTag("movable") that will
fire only when the user is clicking on a component with tag "movable".
Tag| Constructor Summary | |
|---|---|
JTag()
Builds a JTag that can tag components. |
|
| Method Summary | |
|---|---|
JTag |
action()
Calls action(JComponent c) for every component c that has
this tag. |
void |
action(javax.swing.JComponent c)
Method called by action(). |
static java.util.LinkedList |
getTaggedComponents(java.lang.Class tagClass)
Returns the list of components that have a tag of a given class. |
boolean |
hasNext()
Tests if there is other objects tagged by this tag. |
java.lang.Object |
next()
|
javax.swing.JComponent |
nextComponent()
|
JTag |
setBackground(java.awt.Color color)
Calls c.setBackground(Color color) for every component c
that has this tag. |
boolean |
tagsComponent(javax.swing.JComponent c)
Tests if the component c is tagged by this tag. |
static java.util.LinkedList<JTag> |
tagsComponent(javax.swing.JComponent c,
java.lang.Class tagClass)
Tests if the component c is tagged by a tag of class
tagClass. |
| Methods inherited from class fr.lri.swingstates.sm.Tag |
|---|
getCollection, remove, reset, size |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public JTag()
| Method Detail |
|---|
public final java.lang.Object next()
next in interface java.util.Iteratornext in class Tagpublic final boolean hasNext()
hasNext in interface java.util.IteratorhasNext in class TagIterator.hasNext()public final javax.swing.JComponent nextComponent()
JComponent.Iterator.next()public boolean tagsComponent(javax.swing.JComponent c)
c - The component
public static java.util.LinkedList<JTag> tagsComponent(javax.swing.JComponent c,
java.lang.Class tagClass)
c is tagged by a tag of class
tagClass.
c - The componenttagClass - The class of tags
tagClass that are
attached to c.public static java.util.LinkedList getTaggedComponents(java.lang.Class tagClass)
tagClass - The tag class
public void action(javax.swing.JComponent c)
action(). This method does nothing.
Redefine it in a subclass to specify the effect of
JTag#action()
c - The JComponent on which applying specific treatments.public final JTag action()
action(JComponent c) for every component c that has
this tag.
public final JTag setBackground(java.awt.Color color)
c.setBackground(Color color) for every component c
that has this tag.
color - The new background color
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||