|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jsystems.framework.common.Controller
Abstrakte Controllerklasse.
In dieser Kontrollerklasse wird all das abgearbeitet, was alle Kontroller als
Eigenschaften unterstützen sollen.
Dazu gehört das Laden, Speichern und Drucken.
Auch der Zugriff auf die Statuszeile und die Fortschrittsanzeige im Startbild geschieht
über den Controller.
Die Views und zugehörige Models werden ebenfalls hier verwaltet.
Auch die Actions werden hier registriert. Allerdings gibt der Controller diese
aufrufe dann an die Klasse ActionManager
weiter.
Alle weiteren Controller werden von dieser Klasse abgeleitet.
Field Summary | |
protected ActionManager |
actionManager
Der ActionManager fuer die Controls der registrierten Views. |
protected List |
ausgewaehlteModels
Zur ausgewählten View gehörende Models. |
protected BusinessView |
ausgewaehlteView
Die View, die gerade im Dialog angezeigt wird. |
protected BusinessMenu |
menu
Menü. |
protected HashMap |
models
Hashtable für die registrierten Models. |
protected BusinessPopup |
popup
Popup-Menü. |
protected Printer |
printer
Printerobjekt für das Drucken. |
protected StartUpPic |
startbild
Startbild. |
protected DefaultStatusZeile |
statuszeile
Statuszeile. |
protected Systemdialoge |
systemdialoge
Systemdialoge. |
protected BusinessToolbar |
toolbar
Toolbar. |
protected HashMap |
views
Hashtable für die registrierten Views. |
Fields inherited from interface de.jsystems.framework.common.FrameworkKonstanten |
DEFAULT, EDITMODE, FRAMEWORK_LAF, METAL_LAF, MOTIF_LAF, NEWMODE, OHNE, ONLY_MENU, ONLY_TOOLBAR, SHOWMODE, WINDOWS_LAF |
Fields inherited from interface de.jsystems.framework.common.IMessageTexte |
FEHLER, FEHLER_AUFGETRETEN |
Constructor Summary | |
Controller()
Initialisiert die Hashtables für die Views und Models und erzeugt ein Standardmenü sowie eine Standardtoolbar. |
|
Controller(int auspraegung)
Initialisiert die Hashtables für die Views und Models und erzeugt gegebenenfalls Menü und Toolbar. |
Method Summary | |
void |
about()
Wird von der AboutAction aufgerufen.
|
boolean |
canExit()
Prüft, ob die Applikation beendet werden kann oder nicht(weil z.B. noch gespeichert werden muß). |
void |
close()
Wird von der CloseAction aufgerufen.
|
void |
copy()
Wird von der CopyAction aufgerufen.
|
protected void |
createDefaultMenu()
Erzeugt ein Standardmenu mit den meistens benötigten Menüpunkten und speichert es in einer Instanzvaribalen des Controllers. |
protected void |
createDefaultPopup()
Erzeugt ein Standardpopup mit den meistens benötigten Menüpunkten und speichert es in einer Instanzvaribalen des Controllers. |
protected void |
createDefaultToolbar()
Erzeugt eine Standardtoolbar und speichert sie in einer Instanzvariablen des Controllers. |
protected BusinessMenu |
createMenu(String propFile)
Diese Methode erzeugt ein Menü aufgrund des Inhaltes einer Properties-Datei. |
void |
createNew()
Wird von der NewAction aufgerufen.
|
protected BusinessPopup |
createPopup(String propFile)
Diese Methode erzeugt ein Popup-Menü aufgrund des Inhaltes einer Properties-Datei. |
protected BusinessToolbar |
createToolbar(String propFile)
Diese Methode erzeugt eine Toolbar aufgrund des Inhaltes einer Properties-Datei. |
void |
cut()
Wird von der CutAction aufgerufen.
|
void |
delete()
Wird von der DeleteAction aufgerufen.
|
void |
edit()
Wird von der EditAction aufgerufen.
|
void |
exceptionInAction(AbstractAction action,
Exception exception)
Diese Methode wird aufgerufen, wenn in einer Action eine Exception aufgetreten ist. |
ActionManager |
getActionManager()
Gibt den ActionManager des Controllers zurueck. |
List |
getAusgewaehlteModels()
Gibt, sofern vorhanden, die zur ausgewählten View gehörenden Models zurück. |
protected BusinessMenu |
getMenue()
Gibt die beim Initalisieren oder später mit der Methode createDefaultMenu()
erzeugte Menüleiste zurück. |
MessageList |
getMessageList()
Gibt die MessageList des Controllers zurück. |
protected BusinessPopup |
getPopup()
Gibt das mit der Methode createPopup(String) erzeugte Popupmenü
zurück. |
protected DefaultStatusZeile |
getStatusArea()
Gibt die DefaultstatusZeile zurück, die im Konstruktor angelegt wurde. |
protected BusinessToolbar |
getToolbar()
Gibt die beim Initalisieren oder später mit der Methode createDefaultToolbar() erzeugte Toolbar zurück.
|
BusinessView |
getView(String name)
Holt aus der Tabelle mit den registrierten Views die unter dem übergebenem Namen registrierte View heraus. |
void |
help()
Wird von der HelpAction aufgerufen.
|
void |
info()
Wird von der InfoAction aufgerufen.
|
void |
load()
Ruft in allen Models der ausgewaehlten View, sofern die View Models hat, die Methode BusinessModel.load()
auf. |
void |
paste()
Wird von der PasteAction aufgerufen.
|
void |
print()
Druckt eine Componente. |
void |
redo()
Wird von der RedoAction aufgerufen.
|
void |
registerModel(String name,
BusinessModel model)
Registriert ein zu einer View gehörendes Model. |
void |
registerView(BusinessView view)
Registriert die uebergebene View im Controller und ließt alle in der View als Actionsensitiv gekennzeichneten Komponenten aus. |
void |
registerViewActionControls(BusinessView view)
Wird von der Methode registerView(BusinessView) aufgerufen.
|
void |
save()
Ruft in allen Models der ausgewaehlten View, sofern die View Models hat, die Methode BusinessModel.save()
auf. |
void |
saveAs()
Ruft in allen Models der ausgewaehlten View, sofern die View Models hat, die Methode BusinessModel.save_as()
auf. |
void |
setDefaultLookAndFeel()
Setzt das Default-LookAndFeel des benutzen Betriebssystems. |
protected void |
setLastLookAndFeel()
Aktiviert das letzte gesetzte LookAndFeel der Anwendung. |
protected void |
setLookAndFeel(String lookAndFeel)
Legt das Aussehen der Oberfläche fest. |
protected void |
setStartUpProcent(String procent)
Setzt die prozentuale Anzeige der Fortschrittsanzeige. |
protected void |
setStartUpStatus(String s)
Setzt den Statustext für das Startbild. |
protected void |
setStatusText(String text)
Setzt den Text für die Statuszeile. |
void |
show()
Wird von der ShowAction aufgerufen.
|
protected void |
showPopup(BusinessView view,
MouseEvent event)
Zeig das Popup-Menü auf der uebergebenen BusinessView an. |
void |
toggleStatusArea()
Wird von den Abgeleiteten klassen überschrieben. |
void |
toggleToolbar()
Wird von den abgeleiteten Klassen überschrieben. |
void |
undo()
Wird von der UndoAction aufgerufen.
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected Printer printer
protected HashMap views
protected HashMap models
protected BusinessView ausgewaehlteView
protected List ausgewaehlteModels
protected BusinessToolbar toolbar
protected BusinessMenu menu
protected BusinessPopup popup
protected DefaultStatusZeile statuszeile
protected Systemdialoge systemdialoge
protected StartUpPic startbild
protected final ActionManager actionManager
Constructor Detail |
public Controller()
createMenu
erzeugen.
Falls eine eigene Toolbar gewünscht ist muß die abgeleitete Klasse
eine eigene Toolbar mit der Methode createToolbar
erzeugen.
Bei eigenen Menüs und/oder Toolbars ist es besser, den Konstruktor mit
Parameter aufzurufen, da so das erzeugen des Standardmenüs bzw. der
Standardtoolbar verhindert wird.
Hier wird auch die StatusArea angelegt.
public Controller(int auspraegung)
FrameworkKonstanten.DEFAULT
- Erzeugt ein Standardmenü und eine Standardtoolbar.FrameworkKonstanten.ONLY_MENU
- Erzeugt nur ein Standardmenü.FrameworkKonstanten.ONLY_TOOLBAR
- Erzeugt nur eine Standdardtoolbar.FrameworkKonstanten.OHNE
- Erzeugt nichts.
Das LookAndFeel der Anwendung wird auf das FrameworkKonstanten.FRAMEWORK_LAF
festgelegt.
auspraegung
- Festlegung uber die Initialisierung des Controllers.Method Detail |
public void registerModel(String name, BusinessModel model)
getAusgewaehlteModels()
wieder
geholt werden. Falls unter dem uebergebenen Namen noch keine View registriert
ist, so macht das auch nichts. Die Models koennen trotzdem registriert werden.
Wenn einer der beiden Parameter NULL
ist wird eine
IllegalArgumentException ausgeloest
.
registerModel
in interface IController
name
- Name der View, zu der das Model gehört.model
- Das zur View gehörende Model.public void registerView(BusinessView view) throws ViewAlreadyExistsException, CreateActionException
ActionManager
.
Die View wird mit ihrem Namen registriert
(BusinessView.getViewName()
).
Falls es schon eine View mit diesem Namen gibt, wird die Registrierung
abgewiesen und eine Exception geworfen.
registerView
in interface IController
view
- Die BusinessView, die registriert werden soll.
ViewAlreadyExistsException
- wenn diese View schon einmal registriert
wurde. Das Kriterium ist dabei der Name, den die Methode
BusinessView.getViewName()
der View zurueckgibt.
IllegalArgumentException
- wenn die uebergebene View NULL ist.
CreateActionException
- wenn beim erzeugen einer Action ein Fehler auftritt.registerViewActionControls(BusinessView)
public void registerViewActionControls(BusinessView view) throws CreateActionException
registerView(BusinessView)
aufgerufen.
Hier werden alle Controls der Oberflaeche durchgegangen, fuer die
eine Action registriert werden soll. Dabei kann fuer ein Control
durchaus auch mehr als eine Action registriert werden, je nachdem
wieviele Events das Control ausloesen kann. Das Control enthaelt dabei
selbst die Namen der entsprechenden Action-Klassen. Diese werden hier
ausgelesen und an den
ActionManager
uebergeben. Damit diese noetigen Werte ausgelesen werden koennen, muessen
die Controls die Frameworkspezifischen Controls sein. Das sind alle Klassen
aus dem Package de.jsystems.framework.controls
. Hier implementieren
diese Controls das Interface
IActionInterface
.
Bei diesem Interface handelt es sich um ein sogenanntes MarkerInterface. Damit
ist dann aber festgelegt, das die Klasse Methoden enthaelt, deren Namen mit
'getActionClassFor
' beginnt und die keine Parameter erwarten
und einen String zurueckgeben. Beim registrieren dieser Controls werden
dann diese Methoden aufgerufen und, wenn der zurueckgegebene String weder
NULL
noch leer ist, der ActionManager mit diesem String versorgt.
Die ausgelesene Klasse wird im ActionManager erzeugt und dann als Listener
am Control registriert.
registerViewActionControls
in interface IController
view
- Die BusinessView deren ActionControls registriert werden sollen.
CreateActionException
- wenn beim erzeugen einer Action ein Fehler auftritt.ActionManager.addAction(String, IActionInterface, BusinessView)
protected BusinessMenu createMenu(String propFile)
[defaultmenu.properties]
.
In diesem Menue wird dieser Controller als ActionListener registriert.
Ueber die Methode getMenue()
kann dieses Menue aber nicht mehr
ausgelesen werden. Es wird nicht im Controller gespeichert.
propFile
- Eine Datei mit dem Inhalt aus dem ein Menue generiert werden soll.
BusinessMenu
protected void createDefaultMenu()
defaultmenu.properties
enthält den Aufbau
des Menüs.
BusinessMenu
,
createMenu(String)
protected BusinessMenu getMenue()
createDefaultMenu()
erzeugte Menüleiste zurück. Falls beim ersten Aufruf dieser Methode noch kein Menue
erzeugt wurde, wird eines ueber die Methode createDefaultMenu()
erzeugt.
BusinessMenu
protected BusinessPopup createPopup(String propFile)
[defaultpopup.properties]
.
Fuer die einzelnen Menuepunkte wird dieser Controller als ActionListener
registriert. Das ueber diese Methode erzeugte Popupmenue kann nicht ueber
die Methode getPopup()
ausgelesen werden, da es nicht im Controller
zwischengespeichert wird.
propFile
- Eine Datei mit deren Inhalt ein Popupmenue erzeugt werden soll.
BusinessPopup
protected void createDefaultPopup()
defaultpopup.properties
enthält den Aufbau des Popup-Menues.
createPopup(String)
protected BusinessPopup getPopup()
createPopup(String)
erzeugte Popupmenü
zurück. Falls beim ersten Aufruf dieser Methode noch kein Menue erzeugt
wurde wird eines ueber die Methode createPopup(String)
erzeugt.
createPopup(String)
protected void showPopup(BusinessView view, MouseEvent event)
view
- Die View auf der das Popup-Menü erscheinen soll.event
- Das ausgeloeste Mouse-Event.protected BusinessToolbar createToolbar(String propFile)
[defaulttoolbar.properties]
. Die so erzeugte Toolbar kann
nicht ueber die Methode getToolbar()
geholt werden, da diese
Toolbar nicht im Controller zwischengespeichert wird.
propFile
- Die Datei die den Aufbau der Toolbar enthaelt.
BusinessToolbar
protected void createDefaultToolbar()
getToolbar()
kann es dann wieder
ausgelesen werden. Die Datei defaulttoolbar.properties
enthält
den Aufbau der Toolbar.
createToolbar(String)
protected BusinessToolbar getToolbar()
createDefaultToolbar()
erzeugte Toolbar zurück.
Falls beim ersten Aufruf dieser Methode noch keine Toolbar erzeugt
wurde, wird eine mit der Methode createDefaultToolbar()
erzeugt.
createDefaultToolbar()
public BusinessView getView(String name) throws ViewNotFoundException
getAusgewaehlteModels()
ausgelesen werden. Wird als Name NULL übergeben, wird eine
Exception ausgelöst. Die View wird auch in einer internen Variablen
getAusgewaehlteModels()
gespeichert bis zum naechsten Aufruf der Methode.
getView
in interface IController
name
- Der Name der View, die ausgelesen werden soll.
ViewNotFoundException
- wenn unter dem übergebenen Namen keine View
registriert ist.
IllegalArgumentException
- wenn NULL als name
uebergeben wird.public List getAusgewaehlteModels()
NULL
zurueckgegeben.
getAusgewaehlteModels
in interface IController
getView(String)
protected DefaultStatusZeile getStatusArea()
protected void setStatusText(String text)
text
- Der Text der in der Statuszeile angezeigt werden soll.public boolean canExit()
true
zurückgegeben. Ein entsprechender
Test muß von abgeleiteten Klassen implementiert werden.
Diese Methode wird von der
ExitAction
aufgerufen. Wenn die Methode TRUE zurueckgibt, so veranlasst die Action das
beenden der VM mit System.exit(0);
.
TRUE
zurueckgegeben.public void load()
BusinessModel.load()
auf. Wenn beim laden ein Fehler auftritt, so wird dieser in der
Messagelist gespeicert. Am Ende des Ladevorganges werden alle Fehlermeldungen
angezeigt.
public void save()
BusinessModel.save()
auf. Wenn beim speichern ein Fehler auftritt, so wird dieser in der
Messagelist gespeicert. Am Ende des Ladevorganges werden alle Fehlermeldungen
angezeigt.
public void saveAs()
BusinessModel.save_as()
auf. Wenn beim speichern ein Fehler auftritt, so wird dieser in der
Messagelist gespeicert. Am Ende des Ladevorganges werden alle Fehlermeldungen
angezeigt.
public void print() throws PrinterException
BusinessView.initPrintComponent()
.
Wird diese Methode aufgerufen, bevor überhaupt eine View angezeigt wurde,
so passiert nichts.
PrinterException
public void toggleToolbar()
BusinessDialogController
und
BusinessFrameController
.
public void toggleStatusArea()
BusinessDialogController
und
BusinessFrameController
.
protected void setLookAndFeel(String lookAndFeel)
WINDOWS_LAF
METAL_LAF
MOTIF_LAF
FRAMEWORK_LAF
Diese Methode sollte aufgerufen werden, bevor die ersten grafischen
Komponenten erzeugt wurden. Ansonsten gibt es probleme in der Darstellung
der Oberflächen. Im Konstruktor des Controllers wird diese Methode ganz
am Anfang aufgerufen und das LookAndFeel auf das Framework-LAF festgelegt.
Falls zur Laufzeit umgeschaltet werden soll, so muss die komplette
Oberfläche nach Aufruf dieser Methode mit einem Aufruf der Methode
SwingUtilities#updateComponentTreeUI(java.awt.Component)
neu
gezeichnet werden. In den abgeleiteten Klassen
BusinessDialogController
und BusinessFrameController
gibt
es dafür eine passende Methode.
lookAndFeel
- Das LookAndFeel fuer die Oberflaeche.SwingUtilities.updateComponentTreeUI(java.awt.Component)
,
BusinessDialogController.changeLookAndFeel(String)
,
BusinessFrameController.changeLookAndFeel(String)
public void setDefaultLookAndFeel()
protected void setLastLookAndFeel()
setLookAndFeel(String)
gesetzt wurde.
Dann kann ueber diese Methode wieder auf das letzte aktive
LAF umgeschaltet werden.
setLookAndFeel(String)
protected void setStartUpStatus(String s)
s
- Der Text fuer den Splash-Screen.StartUpPic.setStatusText(IProgressSender, String)
protected void setStartUpProcent(String procent)
procent
- Ein String mit der Prozentanzeige fuer den Fortschritt.StartUpPic.setProgressProcent(IProgressSender, String)
public MessageList getMessageList()
MessageList
public void exceptionInAction(AbstractAction action, Exception exception)
action
- Die Action, in der ein Fehler aufgetreten ist.exception
- Die aufgetretene Exception.public ActionManager getActionManager()
public void createNew()
NewAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void close()
CloseAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void undo()
UndoAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void redo()
RedoAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void cut()
CutAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void copy()
CopyAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void paste()
PasteAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void info()
InfoAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void about()
AboutAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void help()
HelpAction
aufgerufen.
Diese Action gehoert zu den Standardmenues. Soll auf den betreffenden
Menuepunkt oder den entsprechenden Toolbarbutton reagiert werden, so muss
lediglich diese Methode ueberschrieben werden.
public void edit()
EditAction
aufgerufen.
Diese Action gehoert zu den Standardpopupmenues. Soll auf den betreffenden
Menuepunkt reagiert werden, so muss lediglich diese Methode ueberschrieben
werden.
public void show()
ShowAction
aufgerufen.
Diese Action gehoert zu den Standardpopupmenues. Soll auf den betreffenden
Menuepunkt reagiert werden, so muss lediglich diese Methode ueberschrieben
werden.
public void delete()
DeleteAction
aufgerufen.
Diese Action gehoert zu den Standardpopupmenues. Soll auf den betreffenden
Menuepunkt reagiert werden, so muss lediglich diese Methode ueberschrieben
werden.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |