|
Letzte
Bearbeitung dieses Dokuments: |
Voraussetzungen für das Verständnis dieses Dokuments:Grundkenntnisse in der Programmierung von Java (Klassen, Methoden, Schleifen) oder anderer Objekt-Orientierter Programmiersprachen (z.B. C++, Modula-2, Pascal). Tutorial Datenbank-Ladeprogramm mit Graphischer Benutzeroberfläche (Java_Intro_02) durchgearbeitet. |
Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:Arbeitszeit:
|
Dieses
Dokument beschreibt, wie Funktionstasten (F1 – F12 mit
Modifikatoren 'Alt', 'Ums' und 'Strg'/'Ctrl') dazu verwendet werden
um Maus-Klicks auf 'Schaltflächen' zu simulieren.
Die
Zuordnung zwischen Funktionstasten der Tastatur und Schaltflächen
erfolgt durch eine Datei mit XML-Struktur.
Weiters wird die 'Schaltfläche' [ Weiter ] als jene Schaltfläche definiert, auf der auch durch die Taste 'Eingabe' ('Enter') ein Mausklick simuliert wird.
Voriger Schritt: Auswählen der Geschäftsanwendung
Vorbemerkung
Vorbedingungen
Verweis
auf Theorie
Zusätzlicher
Code
* XML-Struktur
für Funktionstasten-Zuordnung konstruieren
* Verschiedene
'Listener' zu den GUI-Elementen hinzufügen
* Festlegen
der Schaltfläche die durch die 'Eingabe'-Taste betätigt
wird
Datei
mit der XML-Struktur mit der Funktionstasten-Zuordnung
erstellen
Verzeichnis
GRAPHICS erstellen und ein Symbol abspeichern
Layout
in der Datei 'DisplayStrings.xml' erweitern
Test
Gesamter
Code am Ende des Schrittes
* Klasse
JS_ProjAssist_CommandCenter
* Klasse
JS_ProjAssist_CommandCenter__ActionHandler
Weitere
Schritte und verwandte Dokumentation
Nächster Schritt: Letzte Feinheiten
Obwohl
Eclipse in 'deutscher Version' installiert werden kann, sind
die Abbildungen in diesem Dokument mit der 'english Version'
erstellt. |
Voriger Schritt Auswählen der Geschäftsanwendung abgeschlossen.
Das JavaScout Fat-Client-Framework (JS-FCF) und die dafür entwickelten Basisklassen setzt die Einhaltung bestimmter Namen und Strukturen für Verzeichnisse und Dateien voraus. Diese finden Sie im Dokument Verzeichnisstruktur für die Entwicklung von Heavyweight-Clients mit dem JS-FCF .
Den Aufbau der XML-Struktur und die Bedeutung der einzelne XML-Elemente für die sprachabhängigen Texte für GUI-Elemente finden Sie im Dokument Datei 'FunctionKeys.xml' mit Zuordnung von Funktionstasten zu Schaltflächen (Buttons) .
Im zusätzlichen Code wird die XML-Struktur für die Zuordnung von Funktionstasten (der Tastatur) zu Schaltflächen (Buttons) 'konstruiert'.
/*
* Methode
mit den Initialisierungen die notwendig sind nachdem das Frame
(Window)
* angezeigt wird. */
private
void
initialize_after_frame()
{
/*
* 'Construct'
der XML-Struktur mit der Zuordnung der Funktionstasten zu den
Buttons
* (Schaltflächen).
* Im
Constructor wird die XML-Struktur aus der Datei
'FunctionKeys.xml'
* im Verzeichnis 'TEXT.ls' gelesen
wobei 'ls' der ISO-Code der gewählten Sprache
* (als
Parameter der Methode 'main' mitgegeben) ist.
*/
structJSBS_XML_FunctionKeys
=
new
JSBS_XML_FunctionKeys(
structJSBS_UniversalParameters
);
/*
* Prüfen
ob die XML-Struktur fehlerfrei gelesen werden konnte. */
if
(
structJSBS_XML_FunctionKeys
.
StatusCode
!=
structJSBS_XML_FunctionKeys
.
CONST_OK
)
{
/* Fehler
beim Einlesen der XML-Struktur.
* Nachdem die GUI
bereits initialisiert ist wird die Graphische Warnungs- und
Fehleranzeige
* benutzt.
*/
handleErrorEvent(this
.getClass().getName(),
"construct_JSBS_XML_FunctionKeys"
,
(new
Integer(
structJSBS_XML_FunctionKeys
.
StatusCode
)).toString());
/* Über
die Methode 'handleErrorEvent' wird das Programm auch beendet.
*/
}/*
* Methode
aufrufen mit der alle (in der Datei 'DisplayStrings.xml' definierten)
* GUI-Elemente mit Text, Font und ToolTipText versehen
werden.
*/
JSBS_GUIServices.processLanguageDependantElements(this
);
.
. . . . .
. . . . . .
Das
'Construct' für die Struktur enthält umfangreichen Code in
den Basisklassen.
Darin wird die Datei gelesen und die darin
enthaltene XML-Struktur in die Variable übertragen.
Im
StatusCode
von
structJSBS_XML_FunctionKeys
sind
etwaige Fehler enthalten die beim Öffnen der Datei oder beim
Einlesen der XML-Struktur aufgetreten sind.
Ob ein Fehler
aufgetreten ist, wird anschließend an das 'construct' über
den StatusCode
abgefragt.
Die
Fehler-Codes sind in der Java-Interface JSBS_XML_Constants
definiert.
Die Application hat zu diesem Zeitpunkt bereits eine
Graphische Benutzeroberfläche. Damit kann die Methode
handleErrorEvent(.
. .)
aufgerufen
werden die auch das Programm beendet.
/*
* Methode
mit den Initialisierungen die notwendig sind nachdem das Frame
(Window)
* angezeigt wird. */
private
void
initialize_after_frame()
{
/*
.
. . . . .
. . . . . .
* Methode
in den Basisklassen aufgerufen und der Code der wählbaren
Geschäftsanwendung
* oder die Nummer der
geöffneten Geschäftsanwendung auf das JTextField für
die
* Auswahl (txt_Code) übertragen.
*/
get_tree_SelectableTasks().addMouseListener(this
);
get_pnl_OpenTasksTable().addMouseListener(this
);
/*
* Verschiedene
'Listener's zu den GUI-Elementen hinzufügen
* Dazu
die rekursive Methode der Basisklasse verwendet.
*/
addListeners(this
,
null
);
/*
* Methode
zur Definition einer Schaltfläche als 'Default-Button'.
* Mit
der Enter-Taste (Keyboard) wird auf diesen Button ein 'Klick'
ausgelöst. */
setEnterTriggeredButton(get_btn_Continue());
}/*
* Methode
main(); diese macht diese Klasse 'startbar'.
Diese
Methode aus der Basisklasse durchsucht die GUI rekursiv und fügt
zu den entsprechenden GUI-Elementen passende 'Listener' hinzu.
Durch
'Listener' werden bei zugehörigen 'Events' (z.B. ein Tastendruck
auf der Tastatur oder ein Mausklick auf das GUI-Element) definierte
Methoden aufgerufen. In diesen Methoden kann dann codiert werden,
welche Aktion das Programm bei Auftreten des entsprechenden 'Events'
ausführen soll.
Eine
weitergehende Erläuterung würde den Umfang dieses Tutorials
sprengen; die Methode addListeners(.
. .)
und
die Behandlung verschiedener 'Events' ist in der Basisklasse
JSBS_StartFrame
enthalten.
Der
Parameter mit dem übergebenen Wert null
beim
Aufruf der Methode addListeners(
this
,
null
)
ist
für das Übergeben eines 'DocumentListeners' vorgesehen.
Ein 'DocumentListener' ist eine eigene Klasse für die
Verarbeitung von Änderungen der Werte in Eingabefeldern und wird
im nächsten Schritt vorgestellt.
/*
* Methode
mit den Initialisierungen die notwendig sind nachdem das Frame
(Window)
* angezeigt wird. */
private
void
initialize_after_frame()
{
/*
.
. . . . .
. . . . . .
* Methode
in den Basisklassen aufgerufen und der Code der wählbaren
Geschäftsanwendung
* oder die Nummer der
geöffneten Geschäftsanwendung auf das JTextField für
die
* Auswahl (txt_Code) übertragen.
*/
get_tree_SelectableTasks().addMouseListener(this
);
get_pnl_OpenTasksTable().addMouseListener(this
);
/*
* Verschiedene
'Listener's zu den GUI-Elementen hinzufügen
* Dazu
die rekursive Methode der Basisklasse verwendet.
*/
addListeners(this
,
null
);
/*
* Methode
zur Definition einer Schaltfläche als 'Default-Button'.
* Mit
der Enter-Taste (Keyboard) wird auf diesen Button ein 'Klick'
ausgelöst. */
setEnterTriggeredButton(get_btn_Continue());
}
/*
* Methode
main(); diese macht diese Klasse 'startbar'.
Diese
Methode aus der Basisklasse füllt eine Variable mit dem als
Parameter übergebenen 'JButton'.
Wenn die 'Eingabe'-Taste der
Tastatur betätigt wird, wird über eine weitere Methode der
Basisklasse ein 'Mausklick' auf diesen 'JButton' simuliert.
Datei
mit der XML-Struktur mit der Funktionstasten-Zuordnung erstellen
Das
Erstellen von Dateien wurde bereits in
Schritt
3: Text für die GUI-Elemente von XML-Datei einlesen
>
Verzeichnis
und Datei mit der XML-Struktur mit den sprachabhängigen Texten
erstellen
mit
Abbildungen dokumentiert.
Bitte sehen Sie dort nach wenn sie sich
mit den folgenden Kurz-Anleitungen nicht ausreichend informiert
fühlen.
Verzeichnis
'TEXT.de' auswählen und mit der rechten Maustaste anklicken.
Im
erscheinenden Kontext-Menu
New
> File
auswählen.
Im
folgenden Fenster (New File) den Dateinamen
FunctionKeys.xml
eingeben
und durch Anklicken der Schaltfläche
[ Finish ]
die
Datei erstellen und das Fenster schließen.
|
|
Die
gerade erstellte Datei wird mit der folgenden XML-Struktur
gefüllt.
Für eine detaillierte Erklärung der
Bedeutung der einzelnen XML-Elemente in der Struktur sehen Sie bitte
im Dokument Datei
'FunctionKeys.xml' mit der Zuordnung von Funktionstasten zu
Schaltflächen (Buttons)
nach.
<FunctionKeyAssignments>
<FrameIndividualAssignments>
</FrameIndividualAssignments>
<CommonAssignments>
<FunctionKeyAssignment>
<InternalKeyCode>
F1
</InternalKeyCode>
<DisplayedKeyCode>
F1
</DisplayedKeyCode>
<ButtonName>
btn_Help
</ButtonName>
<IconFileName></IconFileName>
</FunctionKeyAssignment>
<FunctionKeyAssignment>
<InternalKeyCode>
F2
</InternalKeyCode>
<DisplayedKeyCode>
F2
</DisplayedKeyCode>
<ButtonName>
btn_Continue
</ButtonName>
<IconFileName>
Icon_Continue.gif
</IconFileName>
</FunctionKeyAssignment>
</CommonAssignments>
</FunctionKeyAssignments>
Um das Tutorial zu vereinfachen werden die Zuordnungen in jenem Bereich der XML-Struktur, der für das gesamte Anwendungsprogramm gültig ist, definiert.
Für das einfache Verwalten der Zuordnung von Funktionstasten zu Schaltflächen ('JButtons') und das Generieren der Datei mit der XML-Struktur wird die Verwendung JavaScout ProjectAssist empfohlen.
Wenn
Sie neugierig auf das Ergebnis sind, können Sie zu diesem
Zeitpunkt bereits einen
Test
durchführen.
Beachten
Sie aber, daß die Ergebnisse von der gezeigten Abbildungen
abweichen werden.
Unterverzeichnis
GRAPHICS erstellen und ein Symbol abspeichern
Bei
der Erstellung der XML-Struktur in der Datei 'FunctionKeys.xml' wurde
dem
<ButtonName>
btn_Continue
</ButtonName>
ein
grafisches Symbol (
)
zugeordnet:
<IconFileName>
Icon_Continue.gif
</IconFileName>
.
Diese
Datei wird (wie alle Dateien mit graphischen Elementen) im
Verzeichnis GRAPHICS abgelegt.
|
|
|
|
|
|
Wenn
Sie neugierig auf das Ergebnis sind, können Sie zu diesem
Zeitpunkt bereits einen
Test
durchführen.
Beachten
Sie aber, daß die Ergebnisse von der gezeigten Abbildungen
abweichen werden.
Layout
in der Datei 'DisplayStrings.xml' erweitern
In
Schritt
3: Text für die GUI-Elemente von XML-Datei einlesen
>
Verzeichnis
und Datei mit der XML-Struktur mit den sprachabhängigen Texten
erstellen
wurden
nur die absolut notwendigen Parameter für das Layout erfaßt.
Damit
die Schaltfläche, die durch die 'Eingabe'-Taste betätigt
wird, deutlich erkennbar ist, müssen noch zusätzliche
Layout-Parameter erfaßt werden.
|
|
Erweitern
Sie den Bereich um die fett gedruckten Parameter:
<root>
<Layout>
<LabelFontName>
Dialog
</LabelFontName>
<LabelFontSize>
12
</LabelFontSize>
<LabelFontColor>
0
</LabelFontColor>
<LabelFontStyle>
0
</LabelFontStyle>
<TextFontName>
DialogInput
</TextFontName>
<TextFontSize>
12
</TextFontSize>
<TextFontColor>
0
</TextFontColor>
<TextFontStyle>
0
</TextFontStyle>
<PanelBorderColor1>
255
</PanelBorderColor1>
<PanelBorderColor2>
8421376
</PanelBorderColor2>
<OptionalBorderHighlightColor>
16777215
</OptionalBorderHighlightColor>
<OptionalBorderShadowColor>
8421504
</OptionalBorderShadowColor>
<MandatoryBorderHighlightColor>
16711680
</MandatoryBorderHighlightColor>
<MandatoryBorderShadowColor>
8421504
</MandatoryBorderShadowColor>
<SelectedBorderHighlightColor>
16711935
</SelectedBorderHighlightColor>
<SelectedBorderShadowColor>
16711935
</SelectedBorderShadowColor>
<EnterTriggeredButtonBorderHighlightColor>
12632256
</EnterTriggeredButtonBorderHighlightColor>
<EnterTriggeredButtonBorderShadowColor>
65280
</EnterTriggeredButtonBorderShadowColor>
</Layout>
<CommonElements>
<CommonElement>
.
. . . . .
.
. . . . .
Eine
detaillierte Beschreibung der einzelnen Parameter finden Sie im
Dokument Datei
'DisplayStrings.xml' mit sprachabhängigen Texten für die
Anzeige auf der GUI.
Für
das einfache Verwalten der Farben und das Generieren der Datei mit
der XML-Struktur wird die Verwendung JavaScout
ProjectAssist empfohlen.
Die
Einstellungen und die Angabe der zu verwendenden Sprache als
Parameter wurden schon im Schritt 2 ausgeführt und bleiben als
Einstellung für das 'Project' erhalten.
Die Abfolge zum
Starten wurde bereits in den beiden vorigen Schritten mit Abbildungen
dokumentiert; deswegen folgen nur Stichworte:
Zum
Starten wird
Run
> Open Run Dialog
ausgewählt.
Im
anschließend erscheinenden Fenster (Run) werden die
Einstellungen nicht verändert und durch Anklicken der
Schaltfläche
[ Run ]
das
Programm gestartet.
|
|
Nach Auswahl einer Geschäftsanwendung kann die Schaltfläche [ Weiter ] auf folgende Weise 'betätigt' werden:
Die
gezeigte Abbildung geht davon aus, daß noch keine
Programmierung für das Task-Frame erfolgt ist. Wurde bereits der Schritt (noch zu schreiben) programmiert, wird bei Auswahl von 'P' das entsprechende Task-Frame aufgerufen. |
|
Gesamter
Code am Ende des Schrittes
package
js_projassist.client;
/*
*
Package mit den Klassen zum Bearbeiten von Events */import
java.awt.event.*;
/*
*
Package mit der Basisklasse für das StartFrame. */import
js_base.frame.*;
/*
*
Package mit der Basisklasse für die Struktur mit
Parametern. */import
js_base.structures.*;
/*
*
Package mit der Basisklasse für die Bearbeitung von
*
Dateien
mit XML-Strukturen. */
import
js_base.xml.*;
/*
*
Package mit der Basisklasse für die Verbindungen zu
Datenbank
* und Java Application Server (JAS).
*/import
js_base.connections.*;
/*
*/
public
class
JS_ProjAssist_CommandCenter
extends
JSBS_StartFrame
{
/*
* Constructor der Klasse.
* Code darin
wird aufgerufen wenn ein Objekt dieser Klasse erstellt wird.
*/
public
JS_ProjAssist_CommandCenter(String
parmstrLanguageCode)
{
/*
* Aufrufen
des Constructors der geerbten Klasse;
* Dort werden die
Standard-Initialisierungen ausgeführt. */
super
();
/*
* Aufrufen
der Methoden mit den individuellen Initialisierungen für diese
Klasse.
*/
initialize_before_frame(parmstrLanguageCode);
initialize_frame();
initialize_after_frame();
}/*
* Methode
mit den Initialisierungen die notwendig sind bevor das Frame
(Window)
* angezeigt wird. */
private
void
initialize_before_frame(String
parmstrLanguageCode) {
/*
* Festlegen
mit welcher Art von Datenzugriff das Programm arbeitet.
* Für
dieses Tutorial wird der direkte Zugriff auf eine Datenbank verwendet
-
* nicht die Verwendung eine Java-Application-Servers.
*/
RunVersion
=
CONST_StandAlone
;
/*
* Initialisieren
der Struktur mit den Parametern, die für die gesamte
Applikation
* (inklusive der Task-Frames) gelten.
* Diese Struktur ist in der geerbten Klasse
(JSBS_StartFrame) definiert. */
structJSBS_UniversalParameters
=
new
JSBS_UniversalParameters(parmstrLanguageCode);
/*
* 'Construct'
der XML-Struktur mit den sprachabhängigen Texten für
GUI-Elemente.
* Im Constructor wird die XML-Struktur
aus der Datei 'DisplayStrings.xml'
* im
Verzeichnis 'TEXT.ls' gelesen wobei 'ls' der ISO-Code der gewählten
Sprache
* (als Parameter der Methode 'main' mitgegeben)
ist. */
structJSBS_XML_DisplayStrings
=
new
JSBS_XML_DisplayStrings(
structJSBS_UniversalParameters
);
/*
* Prüfen
ob die XML-Struktur fehlerfrei gelesen werden konnte. */
if
(
structJSBS_XML_DisplayStrings
.
StatusCode
!=
structJSBS_XML_DisplayStrings
.
CONST_OK
)
{
/* Fehler
beim Einlesen der XML-Struktur; Fehlermeldung und Status-Code auf der
Konsole ausgeben.
* Eine Beschreibung des Fehler-Codes
ist in der Interface JSBS_XML_Constants zu finden.
*/
System.out.println("Fehler
beim Einlesen von 'DisplayStrings.xml'; StatusCode: "
+
Integer.toString(structJSBS_XML_DisplayStrings
.
StatusCode
));
}/*
* 'Construct'
der XML-Struktur mit den Tasks (Geschäftsanwendungen).
* Im
Constructor wird die XML-Struktur aus der Datei 'Tasks.xml'
* im
Verzeichnis 'TEXT.ls' gelesen wobei 'ls' der ISO-Code der gewählten
Sprache
* (als Parameter der Methode 'main' mitgegeben)
ist. */
structJSBS_XML_Tasks
=
new
JSBS_XML_Tasks(
structJSBS_UniversalParameters
);
/*
* Prüfen
ob die XML-Struktur fehlerfrei gelesen werden konnte. */
if
(
structJSBS_XML_Tasks
.
StatusCode
!=
JSBS_XML_Constants.
CONST_OK
)
{
/* Fehler
beim Einlesen der XML-Struktur; Fehlermeldung und Status-Code auf der
Konsole ausgeben.
* Eine Beschreibung des Fehler-Codes
ist in der Interface JSBS_XML_Constants zu finden.
*/
System.out.println("Fehler
beim Einlesen von 'Tasks.xml'; StatusCode: "
+
Integer.toString(structJSBS_XML_Tasks
.
StatusCode
));
}
else
{
/* XML-Struktur
ohne Fehler eingelesen; Methode zum 'bauen' eines JTree mit
der
* Task-Hierarchie aufrufen und den JTree auf das
GUI-Element übertragen. */
tree_SelectableTasks
=
structJSBS_XML_Tasks
.getTaskTree();
}
}/*
* Methode
mit der das Frame (Window) angezeigt wird. */
private
void
initialize_frame()
{
/* Frame
(Window) sichtbar machen (anzeigen).
*/
setVisible(true
);
/* Anfangsgröße
festlegen. */
setSize(800,
600);/* Grund-Panel
mit den weiteren GUI-Elementen anzeigen.
* Die
GUI-Elemente und deren Anordnung sind in der geerbten Klasse
* (JSBS_StartFrame) festgelegt.
*/
setContentPane(get_pnl_Main());
}/*
* Methode
mit den Initialisierungen die notwendig sind nachdem das Frame
(Window)
* angezeigt wird. */
private
void
initialize_after_frame()
{
/*
* 'Construct'
der XML-Struktur mit der Zuordnung der Funktionstasten zu den
Buttons
* (Schaltflächen).
* Im
Constructor wird die XML-Struktur aus der Datei
'FunctionKeys.xml'
* im
Verzeichnis 'TEXT.ls' gelesen wobei 'ls' der ISO-Code der gewählten
Sprache
* (als Parameter der Methode 'main' mitgegeben)
ist. */
structJSBS_XML_FunctionKeys
=
new
JSBS_XML_FunctionKeys(
structJSBS_UniversalParameters
);
/*
* Prüfen
ob die XML-Struktur fehlerfrei gelesen werden konnte. */
if
(
structJSBS_XML_FunctionKeys
.
StatusCode
!=
structJSBS_XML_FunctionKeys
.
CONST_OK
)
{
/* Fehler
beim Einlesen der XML-Struktur.
* Nachdem die GUI
bereits initialisiert ist wird die Graphische Warnungs- und
Fehleranzeige
* benutzt.
*/
handleErrorEvent(this
.getClass().getName(),
"construct_JSBS_XML_FunctionKeys"
,
(new
Integer(
structJSBS_XML_FunctionKeys
.
StatusCode
)).toString());
/* Über
die Methode 'handleErrorEvent' wird das Programm auch beendet.
*/
}/*
* Methode
aufrufen mit der alle (in der Datei 'DisplayStrings.xml' definierten)
* GUI-Elemente mit Text, Font und ToolTipText versehen
werden.
*/
JSBS_GUIServices.processLanguageDependantElements(this
);
/*
* Abfragen
mit welcher Art von Datenzugriff das Programm arbeitet.
* Für
das Tutorial wird der direkte Zugriff auf die Datenbank
verwendet.
* Um den Code als Beispiel für später
verwenden zu können wird trotzdem
* mit der
Abfrage der Datenzugriffs-Version gearbeitet – allerdings
bleibt
* der Teil für den Datenzugriff über
eine Java Application Server noch ohne Code. */
if
((
RunVersion
==
CONST_StandAlone
)
|| (
RunVersion
==
CONST_MobileClient
))
{
/* Direkter
Zugriff auf die Datenbank notwendig: Connection-Manager
konstruieren.
* Dabei werden die Parameter für den
Datenbankzugriff aus der Datei 'Connections.xml'
* gelesen.
*/
structJSBS_DB_ConnectionManager
=
new
JSBS_DB_ConnectionManager(
structJSBS_UniversalParameters
);
/* Prüfen
ob die Verbindung zur Datenbank fehlerfrei hergestellt werden konnte.
*/
if
(
structJSBS_DB_ConnectionManager
.
StatusCode
!=
JSBS_XML_Constants.
CONST_OK
)
{
/* Fehler
beim Verbinden zur Datenbank.
* Nachdem die GUI
bereits initialisiert ist wird die Graphische Warnungs- und
Fehleranzeige
* benutzt.
*/
handleErrorEvent(this
.getClass().getName(),
"construct_JSBS_DB_ConnectionManager"
,
(new
Integer(
structJSBS_DB_ConnectionManager
.
StatusCode
)).toString());
/* Über
die Methode 'handleErrorEvent' wird das Programm auch beendet.
*/
}
}
if
((
RunVersion
==
CONST_FatClient
)
|| (
RunVersion
==
CONST_MobileClient
))
{
/* Datenzugriff
über JAS notwendig; wird in diesem Tutorial nicht verwendet.
*/
}/*
* Mouse-Listener
zu den Listen mit den wählbaren Geschäftsanwendungen und
den
* geöffneten Geschäftsanwendungen
hinzufügen.
* Damit wird bei einem Mausklick auf
eine Auswahlmöglichkeit die entsprechende
* Methode
in den Basisklassen aufgerufen und der Code der wählbaren
Geschäftsanwendung
* oder die Nummer der
geöffneten Geschäftsanwendung auf das JTextField für
die
* Auswahl (txt_Code) übertragen.
*/
get_tree_SelectableTasks().addMouseListener(this
);
get_pnl_OpenTasksTable().addMouseListener(this
);
/*
* Verschiedene
'Listener's zu den GUI-Elementen hinzufügen
* Dazu
die rekursive Methode der Basisklasse verwendet.
*/
addListeners(this
,
null
);
/*
* Methode
zur Definition einer Schaltfläche als 'Default-Button'.
* Mit
der Enter-Taste (Keyboard) wird auf diesen Button ein 'Klick'
ausgelöst. */
setEnterTriggeredButton(get_btn_Continue());
}/*
* Methode
main(); diese macht diese Klasse 'startbar'.
* Diese
Methode wird aufgerufen wenn ein Objekt dieser Klasse vom
Java-Runtime-Environment
* als 'Start-Klasse'
aufgeruffen wird. */
public
static void
main(String[]
args) {
/*
*
Übernehmen des Wertes der als Parameter beim Start der Klasse
mitgeliefert wurde. */
String
locstrLanguageCode = ""
;
if
(args.
length
>
0) locstrLanguageCode = args[0];
try
{
/*
* 'Construct'
eines Objekts dieser Klasse;
* damit wird der übrige
Code dieser Klasse ausgeführt.
*/
JS_ProjAssist_CommandCenter
aJS_ProjAssist_commandCenter =
new
JS_ProjAssist_CommandCenter(locstrLanguageCode);
}
catch
(Throwable
Exc) {
/* Unerwarteter
Fehler beim 'Construct' des Objekts; Fehlermeldung ausgeben.
*/
System.out
.println(
"Fehler
beim 'construct' der Klasse
'JS_ProjAssist_CommandCenter'."
);
Exc.printStackTrace();
}
}
/*
* Methode
die ausgeführt wird wenn ein Klick mit einer Maustaste
* auf
ein GUI-Element, dem der ActionListener hinzugefügt wurde,
erfolgt. */
public
void
actionPerformed(ActionEvent
e) {
/*
* Gleichnamige
Methode in der geerbten Basisklasse aufrufen.
* Damit
werden die 'geerbten' Verarbeitungen (die für alle
Anwendungsprogramme
* gleich sein können) zuerst
ausgeführt. */
super
.actionPerformed(e);
/*
* Weitere
Verarbeitung in einer eigenen Klasse mit statischen Methoden.
*/
JS_ProjAssist_CommandCenter__ActionHandler.handleEvent(
this
,
e);
}
}
Diese
KIasse wurde in diesem Schritt nicht verändert.
Die
für diesen Schritt zutreffende Version des Codes finden Sie
unter
Tutorial:
JavaScout ProjectAssist, Start-Frame Grundlagen (Java_Fatclient_01)
– Auswählen der Geschäftsanwendung > Gesamter
Code am Ende des Schrittes > Klasse
JS_ProjAssist_CommandCenter_ActionHandler
.
Dokument |
Inhalt |
Tutorial: JavaScout ProjectAssist, Start-Frame Finalisierung (Java_Fatclient_01) – Letzte Feinheiten |
Im nächsten Schritt des Tutorials werden die letzten Feinheiten des Codes, mit denen das grafische Erscheinungsbild und die Benutzerführung optimiert werden, vorgestellt. |
Verzeichnisstruktur für die Entwicklung von Heavyweight-Clients mit JS-FCF |
In diesem Theorie-Dokument ist die Verzeichnisstruktur beschrieben, unter der die verwendeten Basis-Klassen die Datei mit den sprachabhängigen Texten erwartet. |
Datei 'FunctionKeys.xml' mit der Zuordnung von Funktionstasten zu Schaltflächen (Buttons) |
In diesem Theorie-Dokument ist die XML-Struktur der Datei (FunctionKeys.xml) mit der Zuordnung von Funktionstasten zu Schaltflächen (Buttons) beschrieben. |
Inhaltsverzeichnis für ProjectAssist; das Anwendungsprogramm zum Erstellen der XML-Datei. |