|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JPanel fulmine.ui.RecordViewer
public class RecordViewer
A component that provides a read-only view of a record. All the
IField
s of a Record
are displayed as a series of key-value
pairs. As fields are added/removed, so too are the key-value pairs in the
panel. Multiple records are displayed in separate tabs.
The viewer itself is an IEventListener
so can be used as the listener
for record subscriptions. It is thread safe for handling updates from the
IFulmineContext
framework - they are spun off onto the AWT thread for
processing. If the viewer is used to subscribe to multiple records, each
record is shown in a separate tab.
This is intended as a demonstration class for building more sophisticated
record-based UIs based on the IFulmineContext
framework.
Note: this does not remove records from the panel when they are destroyed, it simply renders the fields as 'disabled'.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JPanel |
---|
JPanel.AccessibleJPanel |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary |
---|
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
RecordViewer()
|
Method Summary | |
---|---|
void |
addedAsListenerFor(IEventSource source)
The listener receives this when it has been added as a listener to an event source via IEventSource.addListener(IEventListener) . |
Class<? extends IEvent>[] |
getEventTypeFilter()
Get the classes of IEvent instances this listener can process. |
void |
removedAsListenerFrom(IEventSource source)
The listener receives this when it has been removed as a listener from an event source via IEventSource.removeListener(IEventListener) . |
void |
update(IEvent event)
An update has occurred that this listener is interested in. |
Methods inherited from class javax.swing.JPanel |
---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public RecordViewer()
Method Detail |
---|
public void addedAsListenerFor(IEventSource source)
IEventListener
IEventSource.addListener(IEventListener)
.
addedAsListenerFor
in interface IEventListener
source
- the source that this listener will receive events from.public Class<? extends IEvent>[] getEventTypeFilter()
IEventListener
IEvent
instances this listener can process.
The IEventListener.update(IEvent)
method will only be called with
IEvent
instances whose Class
is assignment
compatible with any contained in this array.
This is an event filtering mechanism. An IEventSource
may
generate many types of IEvent
instances but a listener may only
be interested in one type. By specifying the types of events the listener
is interested in using this method, the listener effectively filters out
unwanted events.
If the filter is dynamic then this method must be thread aware.
getEventTypeFilter
in interface IEventListener
Class
objects that determine the types of
IEvent
instances this listener can processpublic void removedAsListenerFrom(IEventSource source)
IEventListener
IEventSource.removeListener(IEventListener)
.
removedAsListenerFrom
in interface IEventListener
source
- the source that this listener will no longer receive events
from.public void update(IEvent event)
IEventListener
IEventSource
instances are bound to EventProcessor
instances so the same thread will execute this method for events
originating from the same event source. This does not mean that this
method is thread safe; this method may be run by multiple
EventProcessor
instances and so should be thread aware as
appropriate.
This method can throw any Exception
and processing will not be
interrupted. The EventProcessor
will handle the exception.
update
in interface IEventListener
event
- the event encapsulating the update.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |