|
Letzte Bearbeitung dieses Dokuments: |
Voraussetzungen für das Verständnis dieses Dokuments:Grundkenntnisse in der Programmierung von Java (Klassen, Methoden, Schleifen). |
Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:Arbeitszeit:
|
Dieses Dokument enthält Muster-Codes für ein Task-Frame (Teilprogramm für einen Geschäftsfall) zur Verwaltung von Währungen und die Anleitungen zur Adaptierung.
Vorbedingung
Muster-Code
für die Klasse für das Frame (GUI)
Muster-Code
für die Klasse für den ActionHandler
Muster-Code
für die Klasse für den DocumentListener
Anleitung
zur Adaptierung in allen Klassen
* Änderung
des Namens des Java-Packages
* Änderung
des Namens der Klassen
* Adaptieren
der Kommentare
Anleitung
zur Adaptierung in der Klasse für das Frame (GUI)
*
Änderung des Namens der Klasse des CommandCenters
*
Einsetzen des internen Codes für den Aufruf des Task-Frames
*
Entfernen der nicht benötigten 'Marker' aus dem pnl_DetailFields
Anleitung
zur Adaptierung bei Verwendung von Währungen in der Klasse für
die GUI
* Adaptieren
in der Methode initialize_frame
* Adaptieren
in der Methode initialize_after_frame
Anleitung
zur Adaptierung in der Klasse für den ActionHandler
*
Verarbeiten eventuell im CommandCenter eingegebener Parameter -
Methode processCCParameters(...)
*
Adaptieren der Methode processDeactivate(...)
Anleitung
zur Adaptierung in der Klasse für den DocumentListener
Tätigkeiten
ausserhalb des Codierens
*
Einträge in 'Tasks.xml'
*
Allgemein und individuell verwendbare Text-Elemente erfassen
*
Texte für Fehler- und Warnungs-Meldungen erfassen
Weitere
Schritte und verwandte Dokumentation
Klassen für das
Business-Object (BO) zur Verwaltung von Währungen (Currencies)
implementiert.
Den Muster-Code dazu finden Sie im Dokument Muster-Code für
BO-Klassen zur Implementierung der Währung (JSBS_Currency_BOx).
Kenntnisse und
Übung in der Codierung eines Task-Frames (Teilprogramm für einen
Geschäftsfall).
Den Leitfaden mit ausführlicher Anleitung finden Sie unter Leitfaden für die
Entwicklung von Heavyweight-Clients mit dem JS-FCF – Alle Schritte zur
Entwicklung des Task-Frames.
Welche Platzhalter
durch Bezeichnungen des eigentlichen Projektes zu ersetzen sind
finden Sie im Abschnitt
Anleitung
zur Adaptierung in allen Klassen und
Anleitung
zur Adaptierung in der Klasse für das Frame (GUI)
.
package
application_package
.client;
/*
*
Packages mit den GUI-Elementen. */
import
java.awt.*;
import
javax.swing.*;
/*
*
Packages mit den Klassen zum Bearbeiten von Events */
import
java.awt.event.*;
import
java.beans.*;
import
javax.swing.event.*;
/*
*
Package mit der Basisklasse für das TaskFrame. */
import
js_base.frame.*;
/*
*
Package mit den Business-Objects. */
import
js_base.boc.*;
import
application_package
.boc.*;
/**
*
* @author
name[at]company
* @date
20xx-xx-xx
*
* @description
* Klasse
für den Aufbau der Benutzeroberfläche eines Frames
(Fensters)
* für die Geschäftsanwendung
(Task)
* Verwalten von Währungen.
*
* Die
Geschäftsanwendung (Task) ermöglicht
* das
Erfassen von Währungen die innerhalb der Anwendung verwendet
werden können
* Zu jeder Währung kann eine
Bezeichnung in verschiedenen Sprachen und verschiedene
Marker,
* für welches Teilprogramm die Währung
ausgewählt werden kann, erfasst
werden.
*
* @change-log
* when who why
* -----------------------------------------------------------------
*
*/
public
class
application
_Currency
extends
JSBS_TaskFrame
{
/*
* Variable für die Referenz auf die Klasse des
Start-Frame (CommandCenter). */
protected
application
_CommandCenter
frmCC
;
/*
* Zugehöriges DocumentListener Objekt definieren.
*/
protected
application_
Currency__DocumentListener
struct
application_
Currency__DocumentListener
;
/*
* Business-Objects (Client-Side-Klasse)
* für
die Detail-Anzeige und-Bearbeitung definieren. */
protected
application_
Currency_BOC
struct
application_
Currency_BOC_Read
;
protected
application_
Currency_BOC
struct
application_
Currency_BOC_Processed
;
/*
* Liste mit Business-Objects (Client-Side-Klasse)
* für die Auswahl-Liste definieren.
*/
protected
JSBS_Currency_BOC_Set
structJSBS_Currency_BOC_Set
;
/*
* Werte der Selektion für die Anzeige der
Auswahl-Liste.
* Diese werden gesetzt wenn die Liste
neu angezeigt wird und werden gebraucht,
* wenn die Liste
neu angezeigt werden soll aber die GUI-Elemente für die
Auswahl
* schon geändert sein können.
*
Das ist der Fall, wenn ein BO gelöscht wurde.
*/
protected
String
str_Selection_ISOCurrencyCode
=
""
;
/*
* Spezielles Verfahren für die Währung.
* Der Hinweis auf die 'Leitwährung' (definiert in den sprach-spezifischen Texten -
* 'DisplayStrings.xml') wird in der folgenden Variable 'aufgehoben' und
* durch den Code gesteuert im definierten GUI-Element 'lbl_LeadCurrency'
* angezeigt oder durch Leerzeichen ersetzt.
* Die Anzeige hängt davon ab ob die Detaildaten für die 'Leitwährung' oder eine
* andere Währung angezeigt werden.
*/
protected
String
str_LeadCurrencyLabel
=
""
;
/*
* GUI-Elemente für die Attribute eines einzelnen
BO. */
protected
JLabel
lbl_ISOCurrencyCode
;
protected
JTextField
txt_ISOCurrencyCode
;
protected
JLabel
lbl_LeadCurrency
;
protected
JLabel
lbl_LanguageCodeForLabelling
;
protected
JComboBox
combo_LanguageCodeForLabelling
;
protected
JLabel
lbl_CurrencyName
;
protected
JTextField
txt_CurrencyName
;
protected
JLabel
lbl_MiddleRateToLeadCurrency
;
protected
JTextField
txt_
MiddleRateToLeadCurrency
;
protected
JLabel
lbl_BuyingRateToLeadCurrency
;
protected
JTextField
txt_Buying
RateToLeadCurrency
;
protected
JLabel
lbl_SellingRateToLeadCurrency
;
protected
JTextField
txt_Selling
RateToLeadCurrency
;
private
JSBS_Dividerline
dl_AboveMarkers
;
protected
JLabel
lbl_MarkerHeadline
;
protected
JCheckBox
chk_Marker01
;
protected
JCheckBox
chk_Marker02
;
protected
JCheckBox
chk_Marker03
;
protected
JCheckBox
chk_Marker04
;
protected
JCheckBox
chk_Marker05
;
protected
JCheckBox
chk_Marker06
;
protected
JCheckBox
chk_Marker07
;
protected
JCheckBox
chk_Marker08
;
protected
JCheckBox
chk_Marker09
;
protected
JCheckBox
chk_Marker10
;
protected
JCheckBox
chk_Marker11
;
protected
JCheckBox
chk_Marker12
;
protected
JCheckBox
chk_Marker13
;
protected
JCheckBox
chk_Marker14
;
protected
JCheckBox
chk_Marker15
;
protected
JCheckBox
chk_Marker16
;
protected
JCheckBox
chk_Marker17
;
protected
JCheckBox
chk_Marker18
;
protected
JCheckBox
chk_Marker19
;
protected
JCheckBox
chk_Marker20
;
/*
* GUI-Elemente für die Auswahl der zu
verwaltenden Währung. */
protected
JLabel
lbl_SelectCurrency
;
protected
JComboBox
combo_SelectCurrency
;
/*
* Constructor der Klasse.
* Code darin
wird aufgerufen wenn ein Objekt dieser Klasse erstellt wird.
* Als
Parameter wird das StartFrame (CommandCenter) und die
Parameter,
* die der Anwender bereits im StartFrame
erfaßt hat, übernommen.
* Das StartFrame
enthält alle Einstellungen, die für die gesamte Anwendung
gelten
* und die Klassen für die Verbindung zur
Datenbank oder
* zum Java-Application-Server
(JAS).
* Die Parameter, die der Anwender bereits im
StartFrame erfaßt hat,
* steuern individuell für
jedes TaskFrame, welche Liste oder welches einzelne BO
* sofort
nach der 'Konstruktion' des TaskFrame angezeigt wird. */
public
application_
Currency
(
application
_CommandCenter
parmCC)
{
/*
* Aufruf des Constructors der Basisklasse
(JSBS_TaskFrame).
* Darin werden die Klasse des
StartFrames und eventuell Werte einzelner Variablen
* in
lokale Variablen übertragen. */
super
(parmCC,
parmCC.get_txt_Parameter1().getText(),
parmCC.get_txt_Parameter2().getText(),
parmCC.get_txt_Parameter3().getText());
/*
* Übernehmen der Klasse des CommandCenters in die
dafür bestimmte Variable dieser Klasse. */
frmCC
=
parmCC;
/*
* Aufrufen
der Methoden mit den individuellen Initialisierungen für diese
Klasse. */
initialize_before_frame();
initialize_frame();
initialize_after_frame();
}
/*
* Methode
mit den Initialisierungen die notwendig sind bevor das Frame
(Window)
* angezeigt wird. */
private
void
initialize_before_frame()
{
/*
* 'Konstruieren'
der Business-Objects, die in diesem Task-Frame verwendet werden.
*/
struct
application_
Currency_BOC_Read
=
new
application_
Currency_BOC(
frmCC
,
this
);
struct
application_
Currency_BOC_Processed
=
new
application_
Currency_BOC
(
frmCC
,
this
);
structJSBS_Currency_BOC_Set
=
new
JSBS_Currency_BOC_Set(
frmCC
,
this
);
}
/*
* 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_TaskFrame) festgelegt.
*/
setContentPane(get_pnl_Main());
/*
* Wenn
in Ihrer Anwendung die Auswahl von Währungen möglich sein
soll,
* dann kommentieren Sie bitte die folgende Zeile
aus und setzen die
* Zeile oberhalb unter Kommentar.
*/
//
setContentPane(get_pnl_Main_With_Currency_Selection());
/*
* Methode aufrufen die die Größe und Position
des Fensters beim letzten Schließen
* wieder
herstellen.
* Die dafür notwendige Datenstruktur und
die aufgerufenen Methode ist in der
* geerbten
Basisklasse codiert. */
setFramePosition();
/* Mouse-Listener
zu der JTable, in der die auswählbaren Business-Objects
angezeigt
* werden, hinzufügen. Damit wird beim
Anklicken einer Zeile der JTable die Nummer der
* Zeile
in das JTextField für die Auswahl (txt_Selection)
übertragen.
* Das Feststellen der Zeile und das
Übertragen wird durch eine Methode in der
* geerbten
Basisklasse durchgeführt.
*/
get_pnl_SelectionListTable().addMouseListener(this
);
}
/*
* Methode
mit den Initialisierungen die notwendig sind nachdem das Frame
(Window)
* angezeigt wird. */
private
void
initialize_after_frame()
{
/* Methode
zum Zuordnen des sprachabhängigen Textes zu den GUI-Elementen
aufrufen.
*/
JSBS_GUIServices.processLanguageDependantElements(this
);
/* GUI-Elemente,
bei denen eine Eingabe zwingend erforderlich ist
('Mandatory'),
* festlegen. Die Festlegung hier ist
'stärker' als eine eventuelle Prüf-Regel
* in
der Datei 'DisplayStrings.xml'.
*/
structJSBS_EntryRules
.addApplicationMandatoryGUIElement(get_txt_ISOCurrencyCode());
/* DocumentListener
konstruieren und anschließend die Methode der geerbten Klasse
* aufrufen mit der die notwendigen Listener zu den
GUI-Elementen hinzugefügt werden.
*/
struct
application_
Currency__DocumentListener
=
new
application_
Currency__DocumentListener(
this
);
addListeners(this
.getContentPane(),
struct
application
_
Currency__DocumentListener
);
/*
* Border
(Ränder der GUI-Elemente) einfärben damit sie besser
sichtbar sind. */
/* Zuerst
jenes Elemente vom Typ JPanel festlegen, das eingefärbt werden
soll. */
arrayJPanelBordersToBeColored
=
new
JPanel[1];
arrayJPanelBordersToBeColored
[0]
= get_pnl_Main();
/*
* Wenn
in Ihrer Anwendung die Auswahl von Währungen möglich sein
soll,
* dann entfernen Sie bitte den Kommentar vor der folgenden Zeile und
* setzen die
Zeile oberhalb unter Kommentar.
*/
//
arrayJPanelBordersToBeColored
[0]
= get_pnl_Main_With_Currency_Selection();
/*
* Methode
aufrufen mit der die 'Border' eingefärbt werden.
*/
JSBS_GUIServices.processBorders(this
);
/*
* Eintragen
dieses Tasks in die Tabelle beim CommandCenter.
* Der
von der aufgerufenen Methode zurückgelieferte ID wird
verwendet
* wenn die angezeigten Daten verändert werden
sollen.
* Das Verändern der angezeigten Daten ist
sinnvoll, wenn der Anwender einen
* Datensatz aus der
Liste auswählt (Methode 'getForUpdate(..)' in der
Klasse
* xxx__ActionHandler.
* Der 2.
Parameter beim Aufruf der Methode ist der interne Code dieser
Klasse
* in der Datei 'Tasks.xml'.
* Der
3. Parameter ist eine Kurzfassung der angezeigten Daten;
* diese
Daten sind jetzt noch nicht vorhanden. */
dblCC_TaskID
=
frmCC
.addOpenTaskFrame(
this
,
"
internal_Selection_Code
"
,
""
);
/*
* Methode,
die nach der 'Construction' der Klasse ausgeführt werden soll,
aufrufen.
* Eine nähere Beschreibung ist im
Kommentar zu dieser Methode.
*/
application_
Currency__ActionHandler.processAfterConstruction(
this
);
/*
* Methode
aufrufen, die die Combobox für die Auswahl der Währung
füllt.
* Anschließend die gewählte
Währung aus dem StartFrame
(CommandCenter)
* übernehmen.
* Wenn
in Ihrer Anwendung die Auswahl von Währungen möglich sein
soll,
* dann entfernen Sie bitte den Kommentar vor den
folgenden Zeilen.
*/
//
frmCC
.fillComboBoxWithCurrencies(get_combo_CurrencySelection());
//
JSBS_GUIServices.setJComboBoxItem(get_combo_CurrencySelection(),
//
frmCC
.
structJSBS_UniversalParameters
.
strPreferredCurrency
,
//
frmCC
.
structJSBS_UniversalParameters
,
true
);
}
/*
* ******************************
* Methoden
zum 'Construct' (Initialisierung) der einzelnen GUI-Elemente
*
für die Bearbeitung der Variablen eines einzelnen BO.
* */
protected
JLabel
get_lbl_ISOCurrencyCode() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
lbl_ISOCurrencyCode
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
lbl_ISOCurrencyCode
=
new
JLabel();
lbl_ISOCurrencyCode
.setName(
"lbl_ISOCurrencyCode"
);
lbl_ISOCurrencyCode
.setHorizontalAlignment(SwingConstants.
TRAILING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
lbl_ISOCurrencyCode
.setText(
"lbl_ISOCurrencyCode"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building lbl_ISOCurrencyCode
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
lbl_ISOCurrencyCode
;
}
/* */
protected
JTextField
get_txt_ISOCurrencyCode() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
txt_ISOCurrencyCode
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
txt_ISOCurrencyCode
=
new
JTextField();
txt_ISOCurrencyCode
.setName(
"txt_ISOCurrencyCode"
);
txt_ISOCurrencyCode
.setHorizontalAlignment(SwingConstants.
LEADING
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building txt_ISOCurrencyCode in class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
txt_ISOCurrencyCode
;
}
/* */
protected
JLabel
get_lbl_LeadCurrency() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
lbl_LeadCurrency
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
lbl_LeadCurrency
=
new
JLabel();
lbl_LeadCurrency
.setName(
"
lbl_LeadCurrency
"
);
lbl_LeadCurrency
.setHorizontalAlignment(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
lbl_LeadCurrency
.setText(
"
lbl_LeadCurrency
"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building
lbl_LeadCurrency
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
lbl_LeadCurrency
;
}
/* */
protected
JLabel
get_lbl_LanguageCodeForLabelling() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
lbl_LanguageCodeForLabelling
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
lbl_LanguageCodeForLabelling
=
new
JLabel();
lbl_LanguageCodeForLabelling
.setName(
"lbl_LanguageCodeForLabelling"
);
lbl_LanguageCodeForLabelling
.setHorizontalAlignment(SwingConstants.
TRAILING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
lbl_LanguageCodeForLabelling
.setText(
"lbl_LanguageCodeForLabelling"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building lbl_LanguageCodeForLabelling
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
lbl_LanguageCodeForLabelling
;
}
/* */
protected
JComboBox
get_combo_LanguageCodeForLabelling() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
combo_LanguageCodeForLabelling
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
combo_LanguageCodeForLabelling
=
new
JComboBox();
combo_LanguageCodeForLabelling
.setName(
"combo_LanguageCodeForLabelling"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building combo_LanguageCodeForLabelling in class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
combo_LanguageCodeForLabelling
;
}
/* */
protected
JLabel
get_lbl_CurrencyName() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
lbl_CurrencyName
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
lbl_CurrencyName
=
new
JLabel();
lbl_CurrencyName
.setName(
"lbl_CurrencyName"
);
lbl_CurrencyName
.setHorizontalAlignment(SwingConstants.
TRAILING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
lbl_CurrencyName
.setText(
"lbl_CurrencyName"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building lbl_CurrencyName
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
lbl_CurrencyName
;
}
/* */
protected
JTextField
get_txt_CurrencyName() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
txt_CurrencyName
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
txt_CurrencyName
=
new
JTextField();
txt_CurrencyName
.setName(
"txt_CurrencyName"
);
txt_CurrencyName
.setHorizontalAlignment(SwingConstants.
LEADING
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building txt_CurrencyName in class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
txt_CurrencyName
;
}
/* */
protected
JLabel
get_lbl_MiddleRateToLeadCurrency() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
lbl_MiddleRateToLeadCurrency
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
lbl_MiddleRateToLeadCurrency
=
new
JLabel();
lbl_MiddleRateToLeadCurrency
.setName(
"
lbl_MiddleRateToLeadCurrency
"
);
lbl_MiddleRateToLeadCurrency
.setHorizontalAlignment(SwingConstants.
TRAILING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
lbl_MiddleRateToLeadCurrency
.setText(
"
lbl_MiddleRateToLeadCurrency
"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building
lbl_MiddleRateToLeadCurrency
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
lbl_MiddleRateToLeadCurrency
;
}
/* */
protected
JTextField
get_txt_MiddleRateToLeadCurrency() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
txt_
MiddleRateToLeadCurrency
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
txt_
MiddleRateToLeadCurrency
=
new
JTextField();
txt_
MiddleRateToLeadCurrency
.setName(
"
txt_
MiddleRateToLeadCurrency
"
);
txt_
MiddleRateToLeadCurrency
.setHorizontalAlignment(SwingConstants.
TRAILING
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building
txt_
MiddleRateToLeadCurrency
in class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
txt_
MiddleRateToLeadCurrency
;
}
/* */
protected
JLabel
get_lbl_BuyingRateToLeadCurrency() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
lbl_BuyingRateToLeadCurrency
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
lbl_BuyingRateToLeadCurrency
=
new
JLabel();
lbl_BuyingRateToLeadCurrency
.setName(
"
lbl_BuyingRateToLeadCurrency
"
);
lbl_BuyingRateToLeadCurrency
.setHorizontalAlignment(SwingConstants.
TRAILING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
lbl_BuyingRateToLeadCurrency
.setText(
"
lbl_BuyingRateToLeadCurrency
"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building
lbl_BuyingRateToLeadCurrency
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
lbl_BuyingRateToLeadCurrency
;
}
/* */
protected
JTextField
get_txt_BuyingRateToLeadCurrency() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
txt_
BuyingRateToLeadCurrency
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
txt_
BuyingRateToLeadCurrency
=
new
JTextField();
txt_
BuyingRateToLeadCurrency
.setName(
"
txt_
BuyingRateToLeadCurrency
"
);
txt_
BuyingRateToLeadCurrency
.setHorizontalAlignment(SwingConstants.
TRAILING
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building
txt_
BuyingRateToLeadCurrency
in class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
txt_
BuyingRateToLeadCurrency
;
}
/* */
protected
JLabel
get_lbl_SellingRateToLeadCurrency() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
lbl_SellingRateToLeadCurrency
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
lbl_SellingRateToLeadCurrency
=
new
JLabel();
lbl_SellingRateToLeadCurrency
.setName(
"
lbl_SellingRateToLeadCurrency
"
);
lbl_SellingRateToLeadCurrency
.setHorizontalAlignment(SwingConstants.
TRAILING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
lbl_SellingRateToLeadCurrency
.setText(
"
lbl_SellingRateToLeadCurrency
"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building
lbl_SellingRateToLeadCurrency
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
lbl_SellingRateToLeadCurrency
;
}
/* */
protected
JTextField
get_txt_SellingRateToLeadCurrency() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
txt_
SellingRateToLeadCurrency
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
txt_
SellingRateToLeadCurrency
=
new
JTextField();
txt_
SellingRateToLeadCurrency
.setName(
"
txt_
SellingRateToLeadCurrency
"
);
txt_
SellingRateToLeadCurrency
.setHorizontalAlignment(SwingConstants.
TRAILING
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building
txt_
SellingRateToLeadCurrency
in class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
txt_
SellingRateToLeadCurrency
;
}
/* */
private
JSBS_Dividerline
get_dl_AboveMarkers() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
dl_AboveMarkers
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
dl_AboveMarkers
=
new
JSBS_Dividerline();
dl_AboveMarkers
.setName(
"dl_AboveMarkers"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building dl_AboveMarkers
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
dl_AboveMarkers
;
}
/* */
protected
JLabel
get_lbl_MarkerHeadline() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
lbl_MarkerHeadline
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
lbl_MarkerHeadline
=
new
JLabel();
lbl_MarkerHeadline
.setName(
"lbl_MarkerHeadline"
);
lbl_MarkerHeadline
.setHorizontalAlignment(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist. */
lbl_MarkerHeadline
.setText(
"lbl_MarkerHeadline"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building lbl_MarkerHeadline
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
lbl_MarkerHeadline
;
}
/* */
protected
JCheckBox
get_chk_Marker01() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker01
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker01
=
new
JCheckBox();
chk_Marker01
.setName(
"chk_Marker01"
);
chk_Marker01
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker01
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker01
.setText(
"chk_Marker01"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker01
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker01
;
}
/* */
protected
JCheckBox
get_chk_Marker02() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker02
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker02
=
new
JCheckBox();
chk_Marker02
.setName(
"chk_Marker02"
);
chk_Marker02
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker02
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker02
.setText(
"chk_Marker02"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker02
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker02
;
}
/* */
protected
JCheckBox
get_chk_Marker03() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker03
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker03
=
new
JCheckBox();
chk_Marker03
.setName(
"chk_Marker03"
);
chk_Marker03
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker03
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker03
.setText(
"chk_Marker03"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker03
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker03
;
}
/* */
protected
JCheckBox
get_chk_Marker04() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker04
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker04
=
new
JCheckBox();
chk_Marker04
.setName(
"chk_Marker04"
);
chk_Marker04
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker04
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker04
.setText(
"chk_Marker04"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker04
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker04
;
}
/* */
protected
JCheckBox
get_chk_Marker05() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker05
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker05
=
new
JCheckBox();
chk_Marker05
.setName(
"chk_Marker05"
);
chk_Marker05
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker05
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker05
.setText(
"chk_Marker05"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker05
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker05
;
}
/* */
protected
JCheckBox
get_chk_Marker06() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker06
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker06
=
new
JCheckBox();
chk_Marker06
.setName(
"chk_Marker06"
);
chk_Marker06
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker06
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker06
.setText(
"chk_Marker06"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker06
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker06
;
}
/* */
protected
JCheckBox
get_chk_Marker07() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker07
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker07
=
new
JCheckBox();
chk_Marker07
.setName(
"chk_Marker07"
);
chk_Marker07
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker07
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker07
.setText(
"chk_Marker07"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker07
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker07
;
}
/* */
protected
JCheckBox
get_chk_Marker08() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker08
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker08
=
new
JCheckBox();
chk_Marker08
.setName(
"chk_Marker08"
);
chk_Marker08
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker08
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker08
.setText(
"chk_Marker08"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker08
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker08
;
}
/* */
protected
JCheckBox
get_chk_Marker09() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker09
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker09
=
new
JCheckBox();
chk_Marker09
.setName(
"chk_Marker09"
);
chk_Marker09
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker09
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker09
.setText(
"chk_Marker09"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker09
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker09
;
}
/* */
protected
JCheckBox
get_chk_Marker10() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker10
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker10
=
new
JCheckBox();
chk_Marker10
.setName(
"chk_Marker10"
);
chk_Marker10
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker10
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker10
.setText(
"chk_Marker10"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker10
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker10
;
}
/* */
protected
JCheckBox
get_chk_Marker11() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker11
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker11
=
new
JCheckBox();
chk_Marker11
.setName(
"chk_Marker11"
);
chk_Marker11
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker11
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker11
.setText(
"chk_Marker11"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker11
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker11
;
}
/* */
protected
JCheckBox
get_chk_Marker12() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker12
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker12
=
new
JCheckBox();
chk_Marker12
.setName(
"chk_Marker12"
);
chk_Marker12
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker12
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker12
.setText(
"chk_Marker12"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker12
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker12
;
}
/* */
protected
JCheckBox
get_chk_Marker13() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker13
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker13
=
new
JCheckBox();
chk_Marker13
.setName(
"chk_Marker13"
);
chk_Marker13
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker13
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker13
.setText(
"chk_Marker13"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker13
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker13
;
}
/* */
protected
JCheckBox
get_chk_Marker14() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker14
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker14
=
new
JCheckBox();
chk_Marker14
.setName(
"chk_Marker14"
);
chk_Marker14
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker14
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker14
.setText(
"chk_Marker14"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker14
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker14
;
}
/* */
protected
JCheckBox
get_chk_Marker15() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker15
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker15
=
new
JCheckBox();
chk_Marker15
.setName(
"chk_Marker15"
);
chk_Marker15
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker15
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker15
.setText(
"chk_Marker15"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker15
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker15
;
}
/* */
protected
JCheckBox
get_chk_Marker16() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker16
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker16
=
new
JCheckBox();
chk_Marker16
.setName(
"chk_Marker16"
);
chk_Marker16
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker16
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker16
.setText(
"chk_Marker16"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker16
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker16
;
}
/* */
protected
JCheckBox
get_chk_Marker17() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker17
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker17
=
new
JCheckBox();
chk_Marker17
.setName(
"chk_Marker17"
);
chk_Marker17
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker17
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker17
.setText(
"chk_Marker17"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker17
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker17
;
}
/* */
protected
JCheckBox
get_chk_Marker18() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker18
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker18
=
new
JCheckBox();
chk_Marker18
.setName(
"chk_Marker18"
);
chk_Marker18
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker18
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker18
.setText(
"chk_Marker18"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker18
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker18
;
}
/* */
protected
JCheckBox
get_chk_Marker19() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
chk_Marker19
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker19
=
new
JCheckBox();
chk_Marker19
.setName(
"chk_Marker19"
);
chk_Marker19
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker19
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker19
.setText(
"chk_Marker19"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker19
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker19
;
}
/* */
protected
JCheckBox
get_chk_Marker20() {
/* Zuerst
Prüfen,
ob die Variable bereits 'constructed' (initialisiert) ist.
*/
if
(
chk_Marker20
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
chk_Marker20
=
new
JCheckBox();
chk_Marker20
.setName(
"chk_Marker20"
);
chk_Marker20
.setHorizontalAlignment(SwingConstants.
TRAILING
);
chk_Marker20
.setHorizontalTextPosition(SwingConstants.
LEADING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist.
*/
chk_Marker20
.setText(
"chk_Marker20"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building chk_Marker20
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
chk_Marker20
;
}
/* */
/*
* ******************************
* Methoden
zum 'Construct' (Initialisierung) der GUI-Elemente
* für
die Auswahl der Anzeige in der Auswahlliste.
* */
protected
JLabel
get_lbl_SelectCurrency() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
lbl_SelectCurrency
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
lbl_SelectCurrency
=
new
JLabel();
lbl_SelectCurrency
.setName(
"lbl_SelectCurrency"
);
lbl_SelectCurrency
.setHorizontalAlignment(SwingConstants.
TRAILING
);
/* Mit
folgender Code-Zeile wird das GUI-Element mit einem Text
versehen.
* Damit ist auf der GUI der Name des
GUI-Elementes zu sehen solange noch kein
* sprach-spezifischer
Text definiert ist. */
lbl_SelectCurrency
.setText(
"lbl_SelectCurrency"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building lbl_SelectCurrency
in
class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
lbl_SelectCurrency
;
}
/* */
protected
JComboBox
get_combo_SelectCurrency() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
combo_SelectCurrency
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
combo_SelectCurrency
=
new
JComboBox();
combo_SelectCurrency
.setName(
"combo_SelectCurrency"
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.out
.println(
"Error
while building combo_SelectCurrency in class
application
_Currency."
);
Exc.printStackTrace();
}
}
return
combo_SelectCurrency
;
}
/* */
/*
* ******************************
* Methode
zum 'Construct' (Initialisierung) des Panels mit den GUI-Elementen
für
* die
Abwicklung des Geschäftsfalles.
* Diese
Methode überschreibt das 'Construct' des JPanel (mit gleichem
Namen) in der
* geerbten
Methode aus der Klasse JSBS_TaskFrame.
* */
protected
JPanel
get_pnl_DetailFields() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
pnl_DetailFields
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
pnl_DetailFields
=
new
JPanel();
pnl_DetailFields
.setName(
"pnl_DetailFields"
);
/*
* Mit
der folgenden Anweisung wird die Eigenschaft 'GridBagLayout
festgelegt
* 'GridBagLayout'
unterteilt das JPanel in 'dehnbare' Felder; damit 'wachsen'
oder
* 'schrumpfen'
darin platzierte GUI-Elemente abhängig von der Größe
des JPanel. */
pnl_DetailFields
.setLayout(
new
GridBagLayout());
/*
* Die
folgenden Anweisungen platzieren GUI-Elemente in den 'Feldern' des
JPanel. */
/* Zuerst
wird eine Variable für die Platzierungs-Eigenschaften erstellt.
*/
GridBagConstraints
gbc_lbl_ISOCurrencyCode
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_lbl_ISOCurrencyCode.
gridx
=
0;
gbc_lbl_ISOCurrencyCode.
gridy
=
0;
gbc_lbl_ISOCurrencyCode.
weightx
=
1;
gbc_lbl_ISOCurrencyCode.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_lbl_ISOCurrencyCode.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_lbl_ISOCurrencyCode.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_lbl_ISOCurrencyCode(),
gbc_lbl_ISOCurrencyCode);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_txt_ISOCurrencyCode
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_txt_ISOCurrencyCode.
gridx
=
1;
gbc_txt_ISOCurrencyCode.
gridy
=
0;
gbc_txt_ISOCurrencyCode.
weightx
=
1;
gbc_txt_ISOCurrencyCode.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_txt_ISOCurrencyCode.
anchor
=
GridBagConstraints.
LINE_START
;
gbc_txt_ISOCurrencyCode.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_txt_ISOCurrencyCode(),
gbc_txt_ISOCurrencyCode);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_lbl_LeadCurrency
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_lbl_
LeadCurrency
.
gridx
= 2;
gbc_lbl_
LeadCurrency
.
gridy
=
0;
gbc_lbl_
LeadCurrency
.
weightx
=
1;
gbc_lbl_
LeadCurrency
.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_lbl_
LeadCurrency
.
anchor
=
GridBagConstraints.
LINE_START
;
gbc_lbl_
LeadCurrency
.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_lbl_
LeadCurrency
(),
gbc_lbl_
LeadCurrency
);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_lbl_LanguageCodeForLabelling
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_lbl_LanguageCodeForLabelling.
gridx
=
0;
gbc_lbl_LanguageCodeForLabelling.
gridy
=
1;
gbc_lbl_LanguageCodeForLabelling.
weightx
=
1;
gbc_lbl_LanguageCodeForLabelling.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_lbl_LanguageCodeForLabelling.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_lbl_LanguageCodeForLabelling.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_lbl_LanguageCodeForLabelling(),
gbc_lbl_LanguageCodeForLabelling);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_combo_LanguageCodeForLabelling
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_combo_LanguageCodeForLabelling.
gridx
=
1;
gbc_combo_LanguageCodeForLabelling.
gridy
=
1;
gbc_combo_LanguageCodeForLabelling.
weightx
=
1;
gbc_combo_LanguageCodeForLabelling.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_combo_LanguageCodeForLabelling.
anchor
=
GridBagConstraints.
LINE_START
;
gbc_combo_LanguageCodeForLabelling.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_combo_LanguageCodeForLabelling(),
gbc_combo_LanguageCodeForLabelling);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_lbl_CurrencyName
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_lbl_CurrencyName.
gridx
=
2;
gbc_lbl_CurrencyName.
gridy
=
1;
gbc_lbl_CurrencyName.
weightx
=
1;
gbc_lbl_CurrencyName.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_lbl_CurrencyName.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_lbl_CurrencyName.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_lbl_CurrencyName(),
gbc_lbl_CurrencyName);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_txt_CurrencyName
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_txt_CurrencyName.
gridx
=
3;
gbc_txt_CurrencyName.
gridy
=
1;
gbc_txt_CurrencyName.
weightx
=
1;
gbc_txt_CurrencyName.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_txt_CurrencyName.
anchor
=
GridBagConstraints.
LINE_START
;
gbc_txt_CurrencyName.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_txt_CurrencyName(),
gbc_txt_CurrencyName);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_lbl_MiddleRateToLeadCurrency
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_lbl_
MiddleRateToLeadCurrency
.
gridx
=
0;
gbc_lbl_
MiddleRateToLeadCurrency
.
gridy
=
2;
gbc_lbl_
MiddleRateToLeadCurrency
.
weightx
=
1;
gbc_lbl_
MiddleRateToLeadCurrency
.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_lbl_
MiddleRateToLeadCurrency
.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_lbl_
MiddleRateToLeadCurrency
.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_lbl_
MiddleRateToLeadCurrency
(),
gbc_lbl_
MiddleRateToLeadCurrency
);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_txt_
MiddleRateToLeadCurrency
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_txt_
MiddleRateToLeadCurrency
.
gridx
= 1;
gbc_txt_
MiddleRateToLeadCurrency
.
gridy
=
2;
gbc_txt_
MiddleRateToLeadCurrency
.
weightx
=
1;
gbc_txt_
MiddleRateToLeadCurrency
.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_txt_
MiddleRateToLeadCurrency
.
anchor
=
GridBagConstraints.
LINE_START
;
gbc_txt_
MiddleRateToLeadCurrency
.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_txt_
MiddleRateToLeadCurrency
(),
gbc_txt_
MiddleRateToLeadCurrency
);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_lbl_BuyingRateToLeadCurrency
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_lbl_
BuyingRateToLeadCurrency
.
gridx
=
0;
gbc_lbl_
BuyingRateToLeadCurrency
.
gridy
= 3;
gbc_lbl_
BuyingRateToLeadCurrency
.
weightx
=
1;
gbc_lbl_
BuyingRateToLeadCurrency
.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_lbl_
BuyingRateToLeadCurrency
.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_lbl_
BuyingRateToLeadCurrency
.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_lbl_
BuyingRateToLeadCurrency
(),
gbc_lbl_
BuyingRateToLeadCurrency
);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_txt_
BuyingRateToLeadCurrency
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_txt_
BuyingRateToLeadCurrency
.
gridx
= 1;
gbc_txt_
BuyingRateToLeadCurrency
.
gridy
= 3;
gbc_txt_
BuyingRateToLeadCurrency
.
weightx
=
1;
gbc_txt_
BuyingRateToLeadCurrency
.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_txt_
BuyingRateToLeadCurrency
.
anchor
=
GridBagConstraints.
LINE_START
;
gbc_txt_
BuyingRateToLeadCurrency
.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_txt_
BuyingRateToLeadCurrency
(),
gbc_txt_
BuyingRateToLeadCurrency
);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_lbl_SellingRateToLeadCurrency
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_lbl_
SellingRateToLeadCurrency
.
gridx
= 2;
gbc_lbl_
SellingRateToLeadCurrency
.
gridy
= 3;
gbc_lbl_
SellingRateToLeadCurrency
.
weightx
=
1;
gbc_lbl_
SellingRateToLeadCurrency
.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_lbl_
SellingRateToLeadCurrency
.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_lbl_
SellingRateToLeadCurrency
.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_lbl_
SellingRateToLeadCurrency
(),
gbc_lbl_
SellingRateToLeadCurrency
);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_txt_
SellingRateToLeadCurrency
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_txt_
SellingRateToLeadCurrency
.
gridx
= 3;
gbc_txt_
SellingRateToLeadCurrency
.
gridy
= 3;
gbc_txt_
SellingRateToLeadCurrency
.
weightx
=
1;
gbc_txt_
SellingRateToLeadCurrency
.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_txt_
SellingRateToLeadCurrency
.
anchor
=
GridBagConstraints.
LINE_START
;
gbc_txt_
SellingRateToLeadCurrency
.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_txt_
SellingRateToLeadCurrency
(),
gbc_txt_
SellingRateToLeadCurrency
);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_dl_AboveMarkers
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_dl_AboveMarkers.
gridx
=
0;
gbc_dl_AboveMarkers.
gridy
= 4;
gbc_dl_AboveMarkers.
gridwidth
=
4;
gbc_dl_AboveMarkers.
weightx
=
1;
gbc_dl_AboveMarkers.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_dl_AboveMarkers.
anchor
=
GridBagConstraints.
CENTER
;
gbc_dl_AboveMarkers.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_dl_AboveMarkers(),
gbc_dl_AboveMarkers);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_lbl_MarkerHeadline
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_lbl_MarkerHeadline.
gridx
=
0;
gbc_lbl_MarkerHeadline.
gridy
= 5;
gbc_lbl_MarkerHeadline.
gridwidth
=
4;
gbc_lbl_MarkerHeadline.
weightx
=
1;
gbc_lbl_MarkerHeadline.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_lbl_MarkerHeadline.
anchor
=
GridBagConstraints.
LINE_START
;
gbc_lbl_MarkerHeadline.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_lbl_MarkerHeadline(),
gbc_lbl_MarkerHeadline);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker01
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker01.
gridx
=
0;
gbc_chk_Marker01.
gridy
= 6;
gbc_chk_Marker01.
weightx
=
1;
gbc_chk_Marker01.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker01.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker01.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker01(),
gbc_chk_Marker01);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker02
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker02.
gridx
=
1;
gbc_chk_Marker02.
gridy
= 6;
gbc_chk_Marker02.
weightx
=
1;
gbc_chk_Marker02.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker02.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker02.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker02(),
gbc_chk_Marker02);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker03
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker03.
gridx
=
2;
gbc_chk_Marker03.
gridy
= 6;
gbc_chk_Marker03.
weightx
=
1;
gbc_chk_Marker03.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker03.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker03.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker03(),
gbc_chk_Marker03);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker04
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker04.
gridx
=
3;
gbc_chk_Marker04.
gridy
= 6;
gbc_chk_Marker04.
weightx
=
1;
gbc_chk_Marker04.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker04.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker04.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker04(),
gbc_chk_Marker04);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker05
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker05.
gridx
=
0;
gbc_chk_Marker05.
gridy
= 7;
gbc_chk_Marker05.
weightx
=
1;
gbc_chk_Marker05.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker05.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker05.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker05(),
gbc_chk_Marker05);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker06
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker06.
gridx
=
1;
gbc_chk_Marker06.
gridy
= 7;
gbc_chk_Marker06.
weightx
=
1;
gbc_chk_Marker06.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker06.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker06.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker06(),
gbc_chk_Marker06);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker07
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker07.
gridx
=
2;
gbc_chk_Marker07.
gridy
= 7;
gbc_chk_Marker07.
weightx
=
1;
gbc_chk_Marker07.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker07.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker07.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker07(),
gbc_chk_Marker07);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker08
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker08.
gridx
=
3;
gbc_chk_Marker08.
gridy
= 7;
gbc_chk_Marker08.
weightx
=
1;
gbc_chk_Marker08.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker08.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker08.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker08(),
gbc_chk_Marker08);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker09
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker09.
gridx
=
0;
gbc_chk_Marker09.
gridy
= 8;
gbc_chk_Marker09.
weightx
=
1;
gbc_chk_Marker09.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker09.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker09.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker09(),
gbc_chk_Marker09);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker10
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker10.
gridx
=
1;
gbc_chk_Marker10.
gridy
= 8;
gbc_chk_Marker10.
weightx
=
1;
gbc_chk_Marker10.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker10.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker10.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker10(),
gbc_chk_Marker10);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker11
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker11.
gridx
=
2;
gbc_chk_Marker11.
gridy
= 8;
gbc_chk_Marker11.
weightx
=
1;
gbc_chk_Marker11.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker11.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker11.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker11(),
gbc_chk_Marker11);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker12
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker12.
gridx
=
3;
gbc_chk_Marker12.
gridy
= 8;
gbc_chk_Marker12.
weightx
=
1;
gbc_chk_Marker12.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker12.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker12.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker12(),
gbc_chk_Marker12);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker13
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker13.
gridx
=
0;
gbc_chk_Marker13.
gridy
= 9;
gbc_chk_Marker13.
weightx
=
1;
gbc_chk_Marker13.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker13.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker13.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker13(),
gbc_chk_Marker13);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker14
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker14.
gridx
=
1;
gbc_chk_Marker14.
gridy
= 9;
gbc_chk_Marker14.
weightx
=
1;
gbc_chk_Marker14.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker14.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker14.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker14(),
gbc_chk_Marker14);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker15
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker15.
gridx
=
2;
gbc_chk_Marker15.
gridy
= 9;
gbc_chk_Marker15.
weightx
=
1;
gbc_chk_Marker15.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker15.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker15.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker15(),
gbc_chk_Marker15);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker16
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker16.
gridx
=
3;
gbc_chk_Marker16.
gridy
= 9;
gbc_chk_Marker16.
weightx
=
1;
gbc_chk_Marker16.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker16.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker16.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel. */
get_pnl_DetailFields().add(get_chk_Marker16(),
gbc_chk_Marker16);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker17
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker17.
gridx
=
0;
gbc_chk_Marker17.
gridy
= 10;
gbc_chk_Marker17.
weightx
=
1;
gbc_chk_Marker17.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker17.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker17.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker17(),
gbc_chk_Marker17);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker18
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker18.
gridx
=
1;
gbc_chk_Marker18.
gridy
=
10
;
gbc_chk_Marker18.
weightx
=
1;
gbc_chk_Marker18.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker18.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker18.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker18(),
gbc_chk_Marker18);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker19
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker19.
gridx
=
2;
gbc_chk_Marker19.
gridy
=
10
;
gbc_chk_Marker19.
weightx
=
1;
gbc_chk_Marker19.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker19.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker19.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker19(),
gbc_chk_Marker19);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker20
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker20.
gridx
=
3;
gbc_chk_Marker20.
gridy
=
10
;
gbc_chk_Marker20.
weightx
=
1;
gbc_chk_Marker20.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker20.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker20.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker20(),
gbc_chk_Marker20);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building pnl_DetailFields in class
application
_Language."
);
Exc.printStackTrace();
}
}
return
pnl_DetailFields;
}
/* */
/*
* ******************************
* Methode
zum 'Construct' (Initialisierung) des Panels mit den GUI-Elementen
zum Filtern,
* welche
BO (Datensätze) in der angezeigten Liste für die Auswahl
enthalten sind.
* Diese
Methode überschreibt das 'Construct' des JPanel (mit gleichem
Namen) in der
* geerbten
Methode aus der Klasse JSBS_TaskFrame.
* **********
* Wenn
in der Benutzeroberfläche (GUI) dieses Teilprogramms (Tasks)
keine Auswahlmöglichkeiten
* für
Filterkriterien vorgesehen sind dann löschen Sie bitte diese
Methode.
* */
protected
JPanel
get_pnl_ListFields() {
/* Zuerst
Prüfen, ob die Variable bereits 'constructed' (initialisiert)
ist. */
if
(
pnl_ListFields
==
null
)
{
/* Variable
noch nicht 'constructed'; Code für die Initialisierung folgt.
*/
try
{
/* Das
'Konstruieren' des GUI-Elements ist in der geerbten Klasse
definiert.
* Dort ist auch die JTable für die
Anzeige der Liste der ausgewählten Datensätze und
* das
Eingabefeld für die Auswahl definiert.
*/
super
.get_pnl_ListFields();
/*
* Die
folgenden Anweisungen platzieren GUI-Elemente in den 'Feldern' des
JPanel. */
/* Zuerst
wird eine Variable für die Platzierungs-Eigenschaften erstellt.
*/
GridBagConstraints
gbc_lbl_SelectCurrency
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_lbl_Select
Currency
.
gridx
=
0;
gbc_lbl_Select
Currency
.
gridy
=
0;
gbc_lbl_Select
Currency
.
weightx
=
1;
gbc_lbl_Select
Currency
.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_lbl_Select
Currency
.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_lbl_Select
Currency
.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_ListFields().add(get_lbl_Select
Currency
(),
gbc_lbl_Select
Currency
);
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_combo_Select
Currency
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften.
*/
gbc_combo_Select
Currency
.
gridx
=
1;
gbc_combo_Select
Currency
.
gridy
=
0;
gbc_combo_Select
Currency
.
gridwidth
=
2;
gbc_combo_Select
Currency
.
weightx
=
1;
gbc_combo_Select
Currency
.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_combo_Select
Currency
.
anchor
=
GridBagConstraints.
LINE_START
;
gbc_combo_Select
Currency
.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_ListFields().add(get_combo_Select
Currency
(),
gbc_combo_Select
Currency
);
}
catch
(Throwable
Exc) {
/* Fehler
beim 'construct' ist sehr unwahrscheinlich und kann nur beim
'Starten'
* des
Tasks auftreten.
* Deswegen
werden Fehlermeldungen nur auf der Konsole ausgegeben.
*/
System.
out
.println(
"Error
while building pnl_ListFields in class
application
_Currency
.
"
);
Exc.printStackTrace();
}
}
return
pnl_ListFields;
}
/*
* METHODE
die ausgeführt wird wenn das Fenster geschlossen wird.
*
In dieser Methode wird:
*
* Die Spaltenbreiten der JTable(s)
in
die entsprechende (in der geerbten Klasse
*
definierten) Datenstruktur übertragen damit sie auf der
Datenbank gespeichert
*
werden können.
*
* Die Methode zur Prüfung, ob Daten geändert aber nicht gespeichert
wurden,
*
aufgerufen.
*
* Zuletzt wird die Methode gleichen Namens in der geerbten Klasse
aufgerufen;
*
in dieser wird der für alle Task-Frames gleichbleibende Code
ausgeführt.
*/
public
void
windowClosing(WindowEvent
e) {
/*
*
'Art', welche Verarbeitung nach dem Anklicken des 'Close'-Icons des
Fensters
*
ausgeführt wird, verändern.
*
Nur so kann im Code abgefragt werden, ob das Fenster wirklich
geschlossen werden
*
soll.
*/
this
.setDefaultCloseOperation(JFrame.
DO_NOTHING_ON_CLOSE
);
/*
*
Methode aufrufen, die prüft ob die Eingabe-Daten geändert aber
nicht gespeichert
*
wurden. Diese Methode liefert nur dann 'false' zurück wenn der
Anwender ungespeicherte
*
Daten noch prüfen und eventuell korrigieren will. */
if
(
application_
Currency__ActionHandler.checkForUnstoredChanges(
this
))
{
/*
Frame kann geschlossen werden; gleichnamige Methode der geerbten
Klasse den Code, der
*
für alle Task-Frames gleich ist, ausführen lassen. */
super
.windowClosing(e);
}
else
{
/*
Anwender hat entschieden, dass das Fenster nicht geschlossen werden
soll.
*
Fenster wieder sichtbar machen. */
this
.setVisible(
true
);
}
}
/*
* METHODE
die ausgeführt wird wenn sich der Status eines GUI-Elementes, dem
*
ein 'ItemListener' hinzugefügt ist, ändert.
*/
public
void
itemStateChanged(ItemEvent
e) {
/*
*
Zur Verarbeitung des Ereignisses die Methode in der zu dieser Klasse
gehörenden
*
'DocumentListener'-Klasse aufrufen.
*
Grund für die Implementierung des Codes im 'DocumentListener' ist,
dass im
*
'DocumentListener' auch alle Eingabe-Prüfungen und das
Aktivieren/Deaktivieren von
*
Schaltflächen implementiert ist. */
struct
application_
Currency__DocumentListener
.itemStateChanged(e);
}
/*
* METHODE
die ausgeführt wird wenn der Rand einer Spalte verschoben wird.
*
Dieses Ereignis tritt dann auf, wenn der Anwender die Breite der
Spalten
*
einer JTable verändert.
*
In dieser Methode werden dann die neuen Spaltenbreiten auf die
Datenstruktur,
*
die beim Schliessen des Fensters auf der Datenbank gespeichert wird,
übernommen.
*/
public
void
columnMarginChanged(ChangeEvent
e) {
/*
* Weil der Wert von 'bolInhibitColumnMarginChangeStore'
auch von parallel laufenden
* Methoden verändert werden
kann wird der gesamte Code in der Methode 'synchronized'
*
ausgeführt. */
synchronized
(
this
)
{
/*
*
Prüfen, ob der Code in dieser Methode überhaupt ausgeführt werden
soll.
* Die Bedeutung von
'bolInhibitColumnMarginChangeStore' ist bei der Definition
*
der Variable (in der geerbten Klasse 'JSBS_TaskFrame') beschrieben.
*/
if
(
bolInhibitColumnMarginChangeStore
)
return
;
/*
*
Gleichnamige Methode der geerbten Klasse aufrufen.
*
Darin werden die Spaltenbreiten der JTable 'pnl_SelectionListTable'
(in der geerbten
*
Methode definiert) auf das BO und die Variable
*
'structJSBS_FramePosition_BOC.ColumnWidthArray01' (ebenfalls in der
geerbten Klasse
*
definiert) übertragen.
*/
super
.columnMarginChanged(e);
}
}
/*
* 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.
*/
application_
Currency__ActionHandler.handleEvent(
this
,
e);
}
}
Welche Platzhalter
durch Bezeichnungen des eigentlichen Projektes zu ersetzen sind
finden Sie im Abschnitt
Anleitung
zur Adaptierung in allen Klassen und
Anleitung
zur Adaptierung in der Klasse für den ActionHandler
.
package
application_package
.client;
/*
*
Package mit den Klassen zum Bearbeiten von Events. */
import
java.awt.event.*;
/*
*
Package mit den Klassen der GUI-Elemente. */
import
java.awt.*;
import
javax.swing.*;
/*
*
Package und Klassen mit den Status-Codes zum Prüfen auf
erfolgreiche Durchführung oder
* Fehler bei einer
Datenbank-Operation. */
import
js_base.bo.JSBS_BO;
/*
*
Package und Klassen mit Methoden zur Verarbeitung von GUI-Elementen,
z.B. zum Auslesen von
* Werten aus GUI-Elementen bzw.
Anzeigen von Werten in GUI-Elementen oder Anzeigen von
*
Fehler- und Warnungs-Hinweisen. */
import
js_base.frame.*;
/*
*
Package und Klassen mit Methoden zur Formatierung von numerischen
Werten. */
import
js_base.utilities.*;
/*
*
Package und Klasse für zu bearbeitende Business-Objects.
*/
import
js_base.bo.*;
import
application_package
.boc.*;
/**
*
* @author name[at]company
* @date 20xx-xx-xx
*
* @description
* Klasse mit statischen
Methoden die ausgeführt werden wenn ein 'event'
* (z.B.
der Klick einer Maustaste auf eine Schaltfläche) aufgetreten
ist.
* Detail-Dokumentation finden Sie bei den
einzelnen Methoden.
*
* @change-log
*
when who why
*
--------------------------------------------------------
*
*/
public
class
application_
Currency__ActionHandler
{
/*
* Name
der Klasse als Konstante festlegen weil bei statischen Methoden der
* Name der Klasse nicht über
'getClass().getName() ermittelt werden kann. */
private
static
String
CONST_ClassName
=
"
application_package
.client.
application_
Currency__ActionHandler"
;
/*
* Methode
die ermittelt, bei welchem GUI-Element ein 'ActionEvent' ausgelöst
wurde
* und die entsprechende Methode aufruft.
*/
protected
static void
handleEvent(
application
_Currency
parmTF,
ActionEvent
parmActionEvent) {
/* Zuerst
wird die 'Identifikation' des GUI-Element aus dem ActionEvent
extrahiert. */
String
cmd = parmActionEvent.getActionCommand().trim();
/* Abfragen
von welchem GUI-Element der Event ausgelöst wurde und
* Aufrufen der entsprechenden Methode.
*/
if
(cmd.equals(
"btn_Store"
))
store(parmTF);
if
(cmd.equals(
"btn_Copy"
))
copy(parmTF);
if
(cmd.equals(
"btn_Next"
))
getNext(parmTF);
if
(cmd.equals(
"btn_Previous"
))
getPrevious(parmTF);
if
(cmd.equals(
"btn_Get"
))
getForUpdate(parmTF);
if
(cmd.equals(
"btn_Delete"
))
processDeactivate(parmTF);
}
/*
* METHODE,
die Filter-Kriterien für das Anzeigen der Liste mit BOs aus
deren Eingabe-Feldern
* in die Variablen der 'GUI-Klasse'
überträgt.
* Das 'Auslesen' und 'Aufheben' wird
gemacht, damit bei einer neuerlichen Anzeige der Liste
*
(z.B. nach dem Speichern eines neuen BO oder dem Löschen/deactivate)
die Liste mit
* enstsprechend den ursprünglich
eingegebenen Filterkriterien wieder angezeigt werden kann
*
auch wenn der Benutzer inzwischen den Inhalt der Eingabefelder
verändert hat. */
protected
static void
getSelectionCriteria(
application
_Currency
parmTF)
{
/*
*
Auslesen
des Codes für die Währung aus der Selection-Combo-Box. */
parmTF.
str_Selection_ISOCurrencyCode
=
JSBS_GUIServices.getSelectedCodeFromJComboBox(parmTF.get_combo_SelectCurrency(),
"
-
"
);
/* Prüfen
ob überhaupt ein Wert ausgewählt werden konnte; wenn
notwendig ersetzen um späteren Dump zu vermeiden. */
if
(parmTF.
str_Selection_ISOCurrencyCode
==
null
)
parmTF.
str_Selection_ISOCurrencyCode
=
""
;
}
/*
* Methode
die am Ende der 'Construction' der Klasse für die GUI ausgeführt
wird.
* In dieser Methode ist individuell zu codieren,
wenn spezielle Verarbeitungen
* erforderlich sind bevor dem
Anwender eine Eingabe auf der GUI erlaubt ist. */
protected
static void
processAfterConstruction(
application
_Currency
parmTF) {
/*
* Sofort
nach dem Start des Tasks werden die Prüfregeln für das
Eingabefeld für die
* Auswahl des Datensatzes aus
der Liste so gesetzt, dass eine Auswahl nicht möglich
ist.
* Die aktuelle Prüfregel wird in der Methode
'redisplayBOList(...)' gesetzt nachdem
* die gewählten
Datensätze angezeigt wurden.
*/
parmTF.structJSBS_EntryRules
.setEntryRuleValues(
parmTF.get_txt_Selection().getName(),
null
,
1, 0,
null
,
null
,
null
,
null
);
/* Anschließend
ist der Anwendungs-spezifische Code zu implementieren.
*
Hier können die Methoden zum Füllen von Comboboxen mit den
Auswahlwerten
* aufgerufen werden. */
/*
*
Füllen der Combo-Box mit den Sprach-Codes für die
Sprach-spezifische Bezeichnung der Sprache. */
fillLanguageCodeForLabelling(parmTF);
/*
*
Füllen der Combo-Box für die Einschränkung der
Auswahl-Liste und erstmaliges Anzeigen der Liste. */
fillSelection_ISOCurrencyCode(parmTF);
getSelectionCriteria(parmTF);
redisplayBOList(parmTF);
/*
* Mit dem folgenden Kopieren wird das 'gelesene' (read) BO
mit den gleichen Daten gefüllt
* wie das 'bearbeitete'
(processed).
* Damit wird verhindert, dass eine Rückfrage,
'ob
die
geänderten Daten gespeichert werden sollen',
*
erscheint wenn das Fenster sofort nach dem Öffnen wieder
geschlossen wird.
* Die 'unterschiedlichen' Werte entstehen,
wenn z.B. Combo-Boxes mit
vorgegebene
Werten
* gefüllt worden sind.
*/
parmTF.struct
application_
Currency_BOC_Read
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Processed
);
/*
* Prüfen
und Aktivieren / Deaktivieren von Schaltflächen (JButtons).
*/
parmTF.
struct
application_
Currency__DocumentListener
.setButtonStatus();
/*
* Setzen
des Focus auf das Feld für die Eingabe des Auswahl-Codes für
einen Datensatz.
* Damit wird dem Benutzer sofort
ermöglicht, eine Auswahl einzugeben.
*/
parmTF.get_txt_Selection().requestFocusInWindow();
/*
* Festlegen
der Schaltfläche (JButton) [ Bearbeiten ] als jene,
* auf die mit der Enter-Taste ein Mausklick ausgelöst
wird. */
parmTF.setEnterTriggeredButton(parmTF.get_btn_Get());
/*
* Wenn
die Geschäftsanwendung keine Möglichkeit zum Drucken
vorsieht
* dann wird die entsprechende Schaltfläche
deaktiviert. */
parmTF.get_btn_Print().setEnabled(false
);
/*
*
Nach dem 'Konstruieren' der Klasse für die GUI ist das Erfassen
eines neuen
* Datensatzes möglich – deswegen die
Felder dafür 'aktivieren' bzw. 'deaktivieren'.
*/
setFieldsForInsert(parmTF);
/*
*
Wenn in der Auswahlliste alle Datensätze angezeigt werden (d.h.
es sind
* keine Selektionskriterien vorgesehen) dann ist
der 'Kommentar' vor der
* folgenden Zeile zu entfernen.
*/
//
redisplayBOList(parmTF);
/*
* Spezieller Code für die Währung.
* Der aus der Datei 'DisplayStrings.xml' ausgelesene Text für den Hinweis auf die
* 'Leitwährung' wird in der dafür vorgesehenen Variable für die GUI aufgehoben und
* der angezeigte Text durch Leerzeichen ersetzt.
*/
parmTF.str_LeadCurrencyLabel
= parmTF.get_lbl_LeadCurrency().getText();
parmTF.get_lbl_LeadCurrency().setText(""
);
/*
*
Ausführen der Methode, die prüft ob im CommandCenter
Parameter für diesen
* Task eingegeben wurden und die
entsprechende Verarbeitung ausführt.
*/
processCCParameter(parmTF);
}
/*
* METHODE
die prüft, ob in den Parameter-Feldern des CommandCenters
Werte
* eingegeben wurden und anschließend die
entsprechenden Verarbeitungs-Schritte
*
ausführt. */
private
static void
processCCParameter(
application
_Currency
parmTF)
{
/*
* Übernehmen des ISO-Währungs-Codes in die Combobox für
die Einschränkung der Auswahlliste. */
if
(parmTF.
strCCParameter1
.trim().length()
> 0)
{
JSBS_GUIServices.setJComboBoxItem(parmTF.get_combo_SelectCurrency(),
parmTF.strCCParameter1
.trim().toUpperCase(),
parmTF.frmCC
.
structJSBS_UniversalParameters
,
true
);
}
else
return
;
/*
* Wenn in der Auswahlliste BO enthalten sind dann prüfen,
ob die im Parameter 2 eingegebene
* 'Sprache' zu einem BO
'passt' und dieses BO dann für die Bearbeitung anzeigen.
*
Dabei wird bei einem 'leeren' Wert das BO für die
Standard-Bezeichnung angezeigt. */
int
intVectorSize
= parmTF.
structJSBS_Currency_BOC_Set
.
vecRecordSet
.size();
if
(intVectorSize
<= 0)
return
;
/*
* Liste enthält zumidest ein BO; enthaltene BO
mit dem Wert aus dem Parameter in einer 'for'-Schleife vergleichen.
*/
int
intVectorIndex;
JSBS_Currency_BO
locBO;
for
(intVectorIndex
= 0; intVectorIndex < intVectorSize; intVectorIndex++) {
/* Zu
bearbeitendes BO aus der Liste 'herausholen'. */
locBO
= (JSBS_Currency_BO)
parmTF.
structJSBS_Currency_BOC_Set
.
vecRecordSet
.elementAt(intVectorIndex);
/*
* Vergleichen des Parameter-Wertes mit dem
entsprechenden Attribut des BO.
* Der Vergleich
'compareToIgnoreCase' erlaubt eine Eingabe des Parameter-Wertes ohne
Gross-/
* Kleinschreibung beachten zu müssen.
* Wenn Sie einen genauen Vergleich der Werte erreichen
wollen, verwenden Sie bitte 'compareTo'. */
if
(parmTF.
strCCParameter2
.trim().compareToIgnoreCase(locBO.
LanguageCodeForLabelling
)
== 0) {
/*
* Vergleich erfolgreich.
* Für die
Detail-Anzeige der Werte des BO bestehende Methoden verwenden:
* Setzen der Auswahl und dann Schaltfläche
'anklicken'.
* Anschließend Methode und damit
'for'-Schleife beenden.
*/
parmTF.get_txt_Selection().setText(JSBS_Formatter.toFormattedString(intVectorIndex
+
1));
parmTF.get_btn_Get().doClick();
return
;
}
}
}
/*
* METHODE,
die die von der Datenbank gelesenen Wert in die GUI-Elemente
überträgt.
* Weiters werden Eingabefelder, deren
Werte den Anwender-bekannten Schlüssel bilden für
*
die Eingabe gesperrt und die Liste im CommandCenter
aktualisiert. */
private
static void
setToGUI(
application
_Currency
parmTF)
{
/* Werte
auf die GUI-Elemente übertragen. */
parmTF.
struct
application_
Currency_BOC_Read
.setToGUI(
parmTF.get_txt_ISOCurrencyCode(),
null
,
parmTF.get_combo_LanguageCodeForLabelling(),
parmTF.get_chk_Marker01(),
parmTF.get_chk_Marker02(),
parmTF.get_chk_Marker03(),
parmTF.get_chk_Marker04(),
parmTF.get_chk_Marker05(),
parmTF.get_chk_Marker06(),
parmTF.get_chk_Marker07(),
parmTF.get_chk_Marker08(),
parmTF.get_chk_Marker09(),
parmTF.get_chk_Marker10(),
parmTF.get_chk_Marker11(),
parmTF.get_chk_Marker12(),
parmTF.get_chk_Marker13(),
parmTF.get_chk_Marker14(),
parmTF.get_chk_Marker15(),
parmTF.get_chk_Marker16(),
parmTF.get_chk_Marker17(),
parmTF.get_chk_Marker18(),
parmTF.get_chk_Marker19(),
parmTF.get_chk_Marker20(),
parmTF.get_txt_CurrencyName(),
parmTF.get_txt_MiddleRateToLeadCurrency(),
parmTF.get_txt_
BuyingRateToLeadCurrency
()
,
parmTF.get_txt_SellingRateToLeadCurrency()
);
/* Spezielle
Bearbeitung für Combo-Boxen die Teil des Anwender-bekannten
Schlüssels sind.
* Wenn diese in der Methode
'copy' farblich markiert wurden dann bleibt diese Markierung
* erhalten.
* (Java-)systembedingt wird
bei einer JCombobox die neuerliche Auswahl des bereits
* angezeigten Wertes nicht als 'itemStateChanged'
gewertet und die Verarbeitung in der
* zugehörigen
'DocumentListener'-Klasse nicht ausgeführt.
* Deswegen
wird anschliessend die 'normale' Farbe wieder gesetzt.*/
JSBS_GUIServices.setDefinedForegroundColor(parmTF.get_combo_LanguageCodeForLabelling(),
parmTF);
/*
* Methode
aufrufen in der Felder für die Eingabe gesperrt
werden.
* Gesperrt werden die Felder, die Teil der
Anwender-bekannten-Identifikation sind und
* jene
Felder in denen eine Eingabe nicht erlaubt ist wenn das
Anwendungsprogramm in der
* Version 'MobileClient'
läuft und die Verbindung zum JAS (Java Application Server)
unterbrochen ist. */
setFieldsForUpdate(parmTF);
/*
* Bilden
einer Kurzform der angezeigten Daten und aufrufen der Methode, die
den Eintrag
* in der angezeigten Liste 'Aufgerufene
Geschäftsanwendungen' ändert. */
String
tmpstrTaskListDisplay =
parmTF.
struct
application_
Currency_BOC_Read
.
ISOCurrencyCode
+
"
/ "
;
/*
Wenn nicht die Standard-Sprache angezeigt wird, dann wird auch der
Sprach-Code angezeigt. */
if
(parmTF.
struct
application_
Currency_BOC_Read
.
LanguageCodeForLabelling
.trim().length()
> 0)
tmpstrTaskListDisplay+=
parmTF.
struct
application_
Currency_BOC_Read
.
LanguageCodeForLabelling
+
":
"
;
/*
String für die Anzeige komplettieren und Methode zum Eintragen
aufrufen. */
tmpstrTaskListDisplay+=
parmTF.
struct
application_
Currency_BOC_Read
.
CurrencyName
;
parmTF.
frmCC
.updateOpenTaskFrame(parmTF.
dblCC_TaskID
,
tmpstrTaskListDisplay);
}
/*
* METHODE
zum Aktivieren bzw. Deaktivieren der Eingabefelder wenn ein neuer
Datensatz
* eingefügt werden soll.
* Detaillierte
Beschreibungen – besonders für die Version 'MobileClient'
bei unterbrochener
* Verbindung zum JAS (Java
Application Server – finden Sie bei den jeweiligen
Code-Mustern. */
protected
static void
setFieldsForInsert(
application
_Currency
parmTF)
{
/*
* Eingabefelder für die Werte, die den
Anwender-bekannten Schlüssel bilden,
* für
die Eingabe öffnen.
* Dazu wird die spezielle
Methode verwendet mit der auch die ursprüngliche Farbe
* des
Hintergrunds wieder hergestellt wird.
* Dieses
'Öffnen' ist bei allen Versionen (Stand-Alone, Fat-Client,
MobileClient) erforderlich.*/
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_txt_ISOCurrencyCode());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_combo_LanguageCodeForLabelling());
/*
* ----------
* Der folgende Code ist
nur erforderlich wenn das Anwendungsprogramm auch für die
Version
* 'MobileClient' vorgesehen ist.
* Wird
keine 'MobileClient' Version vorgesehen, kann der folgende
Code-Muster gelöscht werden. */
/*
* Mit
den folgenden Markern wird festgelegt wie das aktivieren oder
deaktivieren von Schaltflächen
* gesteuert wird
wenn das Anwendungsprogramm in der Version 'MobileClient' läuft
und die
* Verbindung zum JAS unterbrochen ist.
* Bei
anderen Versionen (als 'MobileClient') haben die Werte der Variablen
keine Auswirkung –
* außer es wird der
Muster-Code modifiziert.
* Diese Variablen sind in der
Basisklasse 'JSBS_TaskFrame' definiert.
* 'true'
bedeutet, dass die Aktion ausgeführt werden darf auch wenn die
Verbindung zum JAS
* unterbrochen ist.
* Abgefragt
für die Steuerung werden die Werte der Variablen in den Methoden
'setButtonStatus_xxx
'
* in
den Klassen für den DocumentListener – auch in der
Basisklasse 'JSBS_TaskFrame__DocumentListener'. */
/*
* Marker,
ob der Datensatz 'deaktiviert' (logisch gelöscht) werden
darf.
* Das Festlegen des Wertes erfolgt in dieser
Methode ('setFieldsForInsert(..)') weil diese Methode
* auch
aufgerufen wird nachdem das Fenster für das Teilprogramm (Task)
geöffnet wurde.
* Das ist die einzige Stelle im
Programm an der der Wert für diese Variable festgelegt wird.
*/
parmTF.
bolAllowDeleteWithMobileClientOffline
=
false
;
/*
* Der
Marker 'bolAllowInsertWithMobileClientOffline' braucht nicht mit
einem Wert versorgt werden weil
* diese Methode nur
aufgerufen wird wenn ein neuer Datensatz eingefügt werden
soll.
* Bevor die Daten des neuen Datensatzes nicht
gespeichert sind ist so und so kein 'copy' möglich.
* Aus
diesem Grund ist der Marker zur Steuerung, ob die Schaltfläche
'copy' aktiviert werden darf
* nicht notwendig.
*/
/*
* Im
folgenden 'if' wird abgefragt, ob das Anwendungsprogramm in der
Version 'MobileClient' läuft
* und die Verbindung
zum JAS (Java Application Server) unterbrochen ist. */
if
((parmTF.
frmCC
.
RunVersion
==
JSBS_StartFrame.
CONST_MobileClient
)
&& (! parmTF.
frmCC
.
bolJASConnectionEstablished
))
{
/*
* Mit
dem folgenden Code werden alle Felder für die Eingabe gesperrt,
für die bei unterbrochener
* Verbindung zum JAS
keine Werte erfasst werden dürfen.
* Empfehlung:
* In
diesem Zweig alle Felder bearbeiten – damit wird klar, welche
Werte erfasst werden können
* und welche nicht.
*/
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_ISOCurrencyCode());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_CurrencyName());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_combo_LanguageCodeForLabelling());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_MiddleRateToLeadCurrency());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_BuyingRateToLeadCurrency());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_SellingRateToLeadCurrency());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker01());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker02());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker03());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker04());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker05());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker06());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker07());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker08());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker09());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker10());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker11());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker12());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker13());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker14());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker15());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker16());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker17());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker18());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker19());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker20());
}
else
{
/*
* Im
'else'-Zweig werden alle Felder wieder für die Eingabe
geöffnet.
* Empfehlung:
* In diesem
Zweig alle Felder bearbeiten – unter Umständen können
sonst Felder für die Eingabe
* gesperrt sein wenn
ein Datensatz geändert wurde während die Verbindung zum JAS
unterbrochen war. */
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_txt_ISOCurrencyCode());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_txt_CurrencyName());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_combo_LanguageCodeForLabelling());
JSBS_GUIServices.
processEnableGUIElement
(parmTF,
parmTF.get_txt_MiddleRateToLeadCurrency());
JSBS_GUIServices.
processEnableGUIElement
(parmTF,
parmTF.get_txt_BuyingRateToLeadCurrency());
JSBS_GUIServices.
processEnableGUIElement
(parmTF,
parmTF.get_txt_SellingRateToLeadCurrency());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker01());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker02());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker03());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker04());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker05());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker06());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker07());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker08());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker09());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker10());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker11());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker12());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker13());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker14());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker15());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker16());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker17());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker18());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker19());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker20());
}
/*
* Jetzt noch die Methode zum Prüfen, ob die
Standard-Bezeichnung für die Sprache gewählt
*
wurde, aufrufen.
* In dieser Methode werden bei Bedarf auch
die entsprechenden Felder für die Eingabe
* geöffnet
oder gesperrt.*/
processSelectedLanguageCodeForLabelling(parmTF);
}
/*
* METHODE
zum Aktivieren bzw. Deaktivieren der Eingabefelder wenn der
ausgewählte Datensatz
* geändert werden
soll.
* Detaillierte Beschreibungen – besonders
für die Version 'MobileClient' bei unterbrochener
* Verbindung
zum JAS (Java Application Server – finden Sie bei den
jeweiligen Code-Mustern. */
protected
static void
setFieldsForUpdate(
application
_
Currency
parmTF)
{
/*
* Eingabefelder für die Werte, die den
Anwender-bekannten Schlüssel bilden,
* für
die Eingabe sperren.
* Dieses 'Sperren' ist bei allen
Versionen (Stand-Alone, Fat-Client, MobileClient) erforderlich.*/
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_ISOCurrencyCode());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_CurrencyName());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_combo_LanguageCodeForLabelling());
/*
* ----------
* Der folgende Code ist
nur erforderlich wenn das Anwendungsprogramm auch für die
Version
* 'MobileClient' vorgesehen ist.
* Wird
keine 'MobileClient' Version vorgesehen, kann der folgende
Code-Muster gelöscht werden. */
/*
* Mit
den folgenden Markern wird festgelegt wie das aktivieren oder
deaktivieren von Schaltflächen
* gesteuert wird
wenn das Anwendungsprogramm in der Version 'MobileClient' läuft
und die
* Verbindung zum JAS unterbrochen ist.
* Bei
anderen Versionen (als 'MobileClient') haben die Werte der Variablen
keine Auswirkung –
* außer es wird der
Muster-Code modifiziert.
* Diese Variablen sind in der
Basisklasse 'JSBS_TaskFrame' definiert.
* 'true'
bedeutet, dass die Aktion ausgeführt werden darf auch wenn die
Verbindung zum JAS
* unterbrochen ist.
* Abgefragt
für die Steuerung werden die Werte der Variablen in den Methoden
'setButtonStatus_xxx
'
* in
den Klassen für den DocumentListener – auch in der
Basisklasse 'JSBS_TaskFrame__DocumentListener'. */
/*
* Marker,
ob der Datensatz 'kopiert' (und damit ein neuer Datensatz eingefügt)
werden darf. */
parmTF.
bolAllowInsertWithMobileClientOffline
=
false
;
/*
* Im
folgenden 'if' wird abgefragt, ob das Anwendungsprogramm in der
Version 'MobileClient' läuft
* und die Verbindung
zum JAS (Java Application Server) unterbrochen ist. */
if
((parmTF.
frmCC
.
RunVersion
==
JSBS_StartFrame.
CONST_MobileClient
)
&& (! parmTF.
frmCC
.
bolJASConnectionEstablished
))
{
/*
* Mit
dem folgenden Code werden alle Felder für die Eingabe gesperrt,
für die bei unterbrochener
* Verbindung zum JAS
Werte geändert werden dürfen.
* Empfehlung:
* In
diesem Zweig alle Felder bearbeiten – damit wird klar, welche
Werte erfasst werden können
* und welche nicht.
*/
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_CurrencyName());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_MiddleRateToLeadCurrency());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_BuyingRateToLeadCurrency());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_txt_SellingRateToLeadCurrency());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker01());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker02());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker03());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker04());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker05());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker06());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker07());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker08());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker09());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker10());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker11());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker12());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker13());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker14());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker15());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker16());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker17());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker18());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker19());
JSBS_GUIServices.processDisableGUIElement(parmTF,
parmTF.get_chk_Marker20());
}
else
{
/*
* Im
'else'-Zweig werden alle Felder wieder für die Eingabe
geöffnet.
* Empfehlung:
* In diesem
Zweig alle Felder bearbeiten – unter Umständen können
sonst Felder für die Eingabe gesperrt
* sein wenn
ein neuer Datensatz eingefügt wurde während die Verbindung
zum JAS unterbrochen war. */
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_txt_CurrencyName());
JSBS_GUIServices.
processEnableGUIElement
(parmTF,
parmTF.get_txt_MiddleRateToLeadCurrency());
JSBS_GUIServices.
processEnableGUIElement
(parmTF,
parmTF.get_txt_BuyingRateToLeadCurrency());
JSBS_GUIServices.
processEnableGUIElement
(parmTF,
parmTF.get_txt_SellingRateToLeadCurrency());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker01());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker02());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker03());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker04());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker05());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker06());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker07());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker08());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker09());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker10());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker11());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker12());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker13());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker14());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker15());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker16());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker17());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker18());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker19());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_chk_Marker20());
}
/*
* Jetzt noch die Methode zum Prüfen, ob die
Standard-Bezeichnung für die Sprache gewählt
*
wurde, aufrufen.
* In dieser Methode werden bei Bedarf auch
die entsprechenden Felder für die Eingabe
* geöffnet
oder gesperrt.*/
processSelectedLanguageCodeForLabelling(parmTF);
/*
* Spezieller Code für die Währung.
* Hinweis, dass die 'Leitwährung' angezeigt wird, ein- bzw. ausblenden.*/
if
(parmTF.
structapplication_Currency_BOC_Processed
.
LeadCurrencyIndicator
.
equals(JSBS_Currency_BO.
CONST_LEADCURRENCY_YES
))
parmTF.get_lbl_LeadCurrency().setText(parmTF.
str_LeadCurrencyLabel
);
else
parmTF.get_lbl_LeadCurrency().setText(
""
);
}
/*
* METHODE
zum Anzeigen der Liste entsprechend der gewählten
Filter-Kriterien. */
protected
static void
redisplayBOList(
application
_Currency
parmTF)
{
/*
* Methode
des BOC-Set zum Selektieren der Daten aufrufen.
* Die
Auswahl-Parameter stammen aus den entsprechenden Eingabe-Feldern und
wurden in der
* Methode
'getSelectionCriteria(...)'
in den entsprechenden Variablen der GUI-Klasse
*
gespeichert. */
parmTF.
structJSBS_Currency_BOC_Set
.selectByISOCurrencyCode(parmTF.str_Selection_ISOCurrencyCode);
/*
* Prüfen
ob die Datenbank-Operation fehlerfrei war; dazu den Status-Code des
* BOC-Set abfragen. */
switch
(parmTF.
structJSBS_Currency_BOC_Set
.
StatusCode
)
{
case
JSBS_BO.
CONST_OK
:
/* Datenbank-Operation
wie erwartet.
* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
case
JSBS_BO.
CONST_NOT_FOUND
:
/* Noch
keine Daten erfasst; kein Fehler.
* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
default
:
/* Ein
anderer Fehler ist beim Selektieren
aufgetreten.
* Fehlerbehandlungs-Methode (in der
Basisklasse für das Task-Frame) aufrufen und zusätzlich
* zur
'Location' (Klassenname, Locationscode "DBError") auch den
Status-Code und die
* Fehler-Meldung des BOC als
Parameter übergeben. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"redisplay_DBError"
,
Integer.toString(parmTF.structJSBS_Currency_BOC_Set
.
StatusCode
),
parmTF.structJSBS_Currency_BOC_Set
.
StatusMsg
);
}
/*
* Weil der Wert von 'bolInhibitColumnMarginChangeStore'
auch von parallel laufenden
* Methoden verändert
werden kann wird der folgende Code-Block 'synchronized' ausgeführt.
*/
synchronized
(parmTF)
{
/*
* Werte
aus den BO des selektierten Sets auf die JTable der GUI
übertragen.
* Dabei die Methode der BOC-Set-Klasse
verwenden.
* Die Daten-Struktur
'structJSBS_FramePosition_BOC.columnWidthArrey01' ist in
der
* Basisklasse für das Task-Frame
(JSBS_TaskFrame) definiert und enthält die Information
* über
die Spaltenbreite für die Tabelle.
* Davor wird
das 'Flag' zum Verhindern, dass durch den 'TableColumnListener'
falsche
* Spaltenbreiten auf die Datenbank übernommen
werden, gesetzt.
* Eine detaillierte Beschreibung zu
'bolInhibitColumnMarginChangeStore' finden Sie
* bei
der Definition der Variable in der Basisklasse 'JSBS_TaskFrame'.
*/
parmTF.
bolInhibitColumnMarginChangeStore
=
true
;
parmTF.
structJSBS_Currency_BOC_Set
.setToGUI(
parmTF.get_pnl_SelectionListTable(),
parmTF.
structJSBS_FramePosition_BOC
.
ColumnWidthArray01
);
/*
* Übernehmen
der Spaltenbreiten der JTable auf die Datenbank wieder erlauben.
*/
parmTF.
bolInhibitColumnMarginChangeStore
=
false
;
}
/*
* Zuletzt
wird noch ermittelt, wie viele BO in der Liste sind und damit die
Eingabe-Regel
* im GUI-Element für die Eingabe der
Auswahl festgelegt.
* Mit dieser Regel kann später
(bei der Auswahl für die Detail-Anzeige) geprüft werden,
* ob mit dem eingegeben Wert auch ein BO ausgewählt
werden kann. */
int
intListSize
=
parmTF.structJSBS_Currency_BOC_Set
.
vecRecordSet
.size();
/* Die
umfangreiche Parameterisierung der Eingabe-Regel wird derzeit nicht
genutzt;
* nicht verwendete Parameter werden durch
'null'-Werte ersetzt. */
parmTF.
structJSBS_EntryRules
.setEntryRuleValues(
parmTF.get_txt_Selection().getName(),
null
,
1, intListSize,
null
,
null
,
null
,
null
);
/*
* Als
Service für den Anwender wird, wenn nur ein BO in der Liste
enthalten ist,
* dieses gleich zur Auswahl
vorgeschlagen. */
if
(intListSize
== 1)
parmTF.get_txt_Selection().setText("1"
);
/*
*
Wenn keine oder mehr BO in der Liste enthalten sind dann wird der im
Auswahlfeld
* stehende Wert erneut angezeigt. Damit wird
über den DocumentListener eine neue Prüfung
*
ausgelöst ob der Auswahlwert nicht größer ist als die
Anzahl der BO in der Liste.
*/
else
parmTF.get_txt_Selection().setText(parmTF.get_txt_Selection().getText());
/*
* Setzen
des Focus auf das Feld für die Eingabe des Auswahl-Codes für
einen Datensatz.
* Damit wird dem Benutzer sofort
wieder ermöglicht, eine Auswahl einzugeben. */
parmTF.get_txt_Selection().requestFocusInWindow();
}
/*
* Methode
die ausgeführt wird wenn eingegebene Daten auf der Datenbank
gespeichert
* werden sollen. */
private
static void
store(
application
_Currency
parmTF)
{
/*
* Werte
aus den GUI-Elementen auf die Variablen des BO übertragen.
* Dabei
die Methode der BOC-Klasse verwenden.
*/
parmTF.
struct
application_
Currency_BOC_Processed
.getFromGUI(
parmTF.get_txt_ISOCurrencyCode(),
null
,
parmTF.get_combo_LanguageCodeForLabelling(),
parmTF.get_chk_Marker01(),
parmTF.get_chk_Marker02(),
parmTF.get_chk_Marker03(),
parmTF.get_chk_Marker04(),
parmTF.get_chk_Marker05(),
parmTF.get_chk_Marker06(),
parmTF.get_chk_Marker07(),
parmTF.get_chk_Marker08(),
parmTF.get_chk_Marker09(),
parmTF.get_chk_Marker10(),
parmTF.get_chk_Marker11(),
parmTF.get_chk_Marker12(),
parmTF.get_chk_Marker13(),
parmTF.get_chk_Marker14(),
parmTF.get_chk_Marker15(),
parmTF.get_chk_Marker16(),
parmTF.get_chk_Marker17(),
parmTF.get_chk_Marker18(),
parmTF.get_chk_Marker19(),
parmTF.get_chk_Marker20(),
parmTF.get_txt_CurrencyName(),
parmTF.get_txt_MiddleRateToLeadCurrency(),
parmTF.get_txt_
BuyingRateToLeadCurrency
()
,
parmTF.get_txt_SellingRateToLeadCurrency()
);
/*
* Methode
des BOC zum Speichern der Daten aufrufen.
*/
parmTF.
struct
application_
Currency_BOC_Processed
.store();
/*
* Prüfen
ob die Datenbank-Operation fehlerfrei war; dazu den Status-Code des
* BOC abfragen.
*/
switch
(parmTF.
struct
application_
Currency_BOC_Processed
.
StatusCode
)
{
case
JSBS_BO.
CONST_OK
:
/* Datenbank-Operation
wie erwartet.
* Verarbeitetes BO (xxx_Processed) mit
neuen Allgemeinen Attributen (Common Attributes) auf das
* BO,
das die Werte, so wie sie auf der Datenbank sind enthält
(xxx_Read) kopieren.
* Damit kann in einem späteren
Schritt verglichen werden ob ein Attribut geändert wurde.
*/
parmTF.
struct
application_
Currency_BOC_Read
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Processed
);
/*
Methode aufrufen, die die Werte des BO auf die GUI-Elemente
überträgt.
* Das Übertragen wäre zwar
bei 'store()' nicht notwendig aber in der aufgerufenen
*
Methode werden auch Eingabefelder gesperrt und die Liste der
aufgerufenen Task
* im CommandCenter aktualisiert.
*/
setToGUI(parmTF);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
case
JSBS_BO.
CONST_DUPLICATE_KEY
:
/* Ein
Datensatz mit den Werten, die den Anwender-bekannten Schlüssel
bilden, existiert bereits.
* Fehlerbehandlungs-Methode
(in der Basisklasse für das Task-Frame) aufrufen und
zusätzlich
* zur 'Location' (Klassenname,
Locationscode "DupKey") auch die Werte für den
Anwender-bekannten
* Schlüssel als Parameter
übergeben. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"DupKey"
,
parmTF.struct
application_
Currency_BOC_Processed
.
ISOCurrencyCode
,
parmTF.struct
application_
Currency_BOC_Processed
.
LanguageCodeForLabelling
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
case
JSBS_BO.
CONST_CHANGED_INBETWEEN
:
/* Der
Datensatz wurde seit dem Lesen von der Datenbank von einem anderen
Anwender verändert.
* Fehlerbehandlungs-Methode
(in der Basisklasse für das Task-Frame) aufrufen und
zusätzlich
* zur 'Location' (Klassenname,
Locationscode "store_ChangedInbetween") auch den Anwender,
* der die letzte Änderung vorgenommen hat, als
Parameter übergeben.
*/
parmTF.handleErrorEvent(
CONST_ClassName
,
"store_ChangedInbetween"
,
parmTF.struct
application_
Currency_BOC_Processed
.
ChangedBy
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
case
JSBS_BO.
CONST_NOT_FOUND
:
/* Der
Datensatz wurde seit dem Lesen von der Datenbank von einem anderen
Anwender deaktiviert.
* Fehlerbehandlungs-Methode (in
der Basisklasse für das Task-Frame) aufrufen und
zusätzlich
* zur 'Location' (Klassenname,
Locationscode "store_NotFound") auch die Werte für
* den Anwender-bekannten Schlüssel als Parameter
übergeben. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"store_NotFound"
,
parmTF.struct
application_
Currency_BOC_Processed
.
ISOCurrencyCode
,
parmTF.struct
application_
Currency_BOC_Processed
.
LanguageCodeForLabelling
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
case
JSBS_Currency_BO.
CONST_ERROR_No_Default_Dataset_For_ISOCurrencyCode
:
/* Es wurde versucht
einen
Datensatz mit einer Bezeichnung der Währung in einer zusätzlichen
* Sprache einzufügen und der Standard-Datensatz für die Währung
existiert noch nicht.
* Fehlerbehandlungs-Methode (in
der Basisklasse für das Task-Frame) aufrufen. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"store_NoDefaultDataSet"
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
default
:
/* Ein
anderer Fehler ist beim Speichern der Daten
aufgetreten.
* Fehlerbehandlungs-Methode (in der
Basisklasse für das Task-Frame) aufrufen und zusätzlich
* zur
'Location' (Klassenname, Locationscode "store_DBError")
auch den Status-Code und die
* Fehler-Meldung des BOC
als Parameter übergeben.
*/
parmTF.handleErrorEvent(
CONST_ClassName
,
"store_DBError"
,
Integer.toString(parmTF.struct
application_
Currency_BOC_Processed
.
StatusCode
),
parmTF.struct
application_
Currency_BOC_Processed
.
StatusMsg
);
}
/*
* Methode
zum Anzeigen der Liste mit den aktuell gültigen Daten
aufrufen.
* Aber nur dann aufrufen wenn die
Selektionskriterien gleich sind wie die Werte
* des
gerade gespeicherten BO. */
if
(parmTF.
struct
application_
Currency_BOC_Processed
.
ISOCurrencyCode
.
compareTo(parmTF.str_Selection_ISOCurrencyCode
)
== 0)
redisplayBOList(parmTF);
/*
* Methode
zum Aktivieren / Deaktivieren von Schaltflächen (JButtons)
aufrufen.
*/
parmTF.struct
application_
Currency__DocumentListener
.setButtonStatus();
/*
* Setzen
des Focus auf das Feld für die Eingabe des Auswahl-Codes für
einen Datensatz.
* Damit wird dem Benutzer sofort
wieder ermöglicht, eine Auswahl einzugeben.
*/
parmTF.get_txt_Selection().requestFocusInWindow();
/*
* Festlegen
der Schaltfläche (JButton) 'btn_Get' als jene,
* auf
die mit der Enter-Taste ein Mausklick ausgelöst wird.
*/
parmTF.setEnterTriggeredButton(parmTF.get_btn_Get());
}
/*
* Methode
die ausgeführt wird wenn eingegebene Daten, die auf der
Datenbank gespeichert
* sind, verändert und als
neuer Datensatz gespeichert werden sollen. */
private
static void
copy(
application_
Currency
parmTF)
{
/*
* Methode
aufrufen in der Felder für die Eingabe gesperrt bzw. geöffnet
werden wenn ein neuer Datensatz
* eingefügt
werden soll.
* Geöffnet werden jene Felder, die
Teil der Anwender-bekannten-Identifikation sind.
* Sonderfall
ist das Sperren jener Felder in denen eine Eingabe nicht erlaubt ist
wenn
* das Anwendungsprogramm in der Version
'MobileClient' läuft und die Verbindung zum JAS
* (Java
Application Server) unterbrochen ist. */
setFieldsForInsert(parmTF);
/*
* Eingabefelder für die Werte, die den
Anwender-bekannten Schlüssel bilden,
* für
die Eingabe öffnen.
* Dazu wird die spezielle
Methode verwendet mit der auch die ursprüngliche Farbe
* des
Hintergrunds wieder hergestellt wird.*/
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_txt_ISOCurrencyCode());
JSBS_GUIServices.processEnableGUIElement(parmTF,
parmTF.get_combo_LanguageCodeForLabelling());
/*
* Anwender
darauf aufmerksam machen, dass der Anwender-bekannte
Schlüssel
* nicht gleich bleiben darf.
* Alle
Felder mit Schlüssel-Werten markieren damit diese Aufmerksamkeit
erregen.
*/
JSBS_GUIServices.reverseColors(parmTF.get_txt_ISOCurrencyCode());
JSBS_GUIServices.reverseColors(parmTF.get_combo_LanguageCodeForLabelling());
/*
* Setzen
des Focus auf das Feld, das am wahrscheinlichsten geändert wird
und markieren
* des enthaltenen Wertes.
* Damit
kann der Wert ohne weitere Massnahme komplett überschrieben
werden. */
parmTF.get_txt_CurrencyName().requestFocusInWindow();
parmTF.get_txt_CurrencyName().selectAll();
/*
* Werte
aus den GUI-Elementen auf die Variablen des BO übertragen.
* Dabei
die Methode der BOC-Klasse verwenden.
*/
parmTF.struct
application_
Currency_BOC_Processed
.getFromGUI(
parmTF.get_txt_ISOCurrencyCode(),
null
,
parmTF.get_combo_LanguageCodeForLabelling(),
parmTF.get_chk_Marker01(),
parmTF.get_chk_Marker02(),
parmTF.get_chk_Marker03(),
parmTF.get_chk_Marker04(),
parmTF.get_chk_Marker05(),
parmTF.get_chk_Marker06(),
parmTF.get_chk_Marker07(),
parmTF.get_chk_Marker08(),
parmTF.get_chk_Marker09(),
parmTF.get_chk_Marker10(),
parmTF.get_chk_Marker11(),
parmTF.get_chk_Marker12(),
parmTF.get_chk_Marker13(),
parmTF.get_chk_Marker14(),
parmTF.get_chk_Marker15(),
parmTF.get_chk_Marker16(),
parmTF.get_chk_Marker17(),
parmTF.get_chk_Marker18(),
parmTF.get_chk_Marker19(),
parmTF.get_chk_Marker20(),
parmTF.get_txt_CurrencyName(),
parmTF.get_txt_MiddleRateToLeadCurrency(),
parmTF.get_txt_
BuyingRateToLeadCurrency
()
,
parmTF.get_txt_SellingRateToLeadCurrency()
);
/*
* BO
kennzeichnen, dass es sich um ein neu eingegebenes BO handelt.
* Ein
'neues' BO ist durch die Werte '0' im DataSetId und ObjectID zu
erkennen.
*/
parmTF.struct
application_
Currency_BOC_Processed
.
DataSetID
=
0;
parmTF.struct
application_
Currency_BOC_Processed
.
ObjectID
=
0;
/*
* Spezieller Code für die Währung.
* Wenn der Datensatz für die Leitwährung kopiert wird dann den Indikator
* verändern weil nur eine Währung als Leitwährung definiert sein darf.
*/
parmTF.struct
application_
Currency_BOC_Processed
.
LeadCurrencyIndicator
= JSBS_Currency_BO.
CONST_LEADCURRENCY_NO
;
/*
* BO
auf das BO mit den (von der Datenbank) gelesenen Daten
kopieren.
* Das hat in diesem Schritt des Tutorials
noch keine Auswirkungen;
* später wird aber das
Aktivieren und Deaktivieren von Schaltflächen nach einer
Datenänderung
* über den Vergleich der Werte
gesteuert.
*/
parmTF.struct
application_
Currency_BOC_Read
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Processed
);
/*
* Methode
zum Aktivieren / Deaktivieren von Schaltflächen (JButtons)
aufrufen.
*/
parmTF.struct
application_
Currency__DocumentListener
.setButtonStatus();
/*
* Festlegen
der Schaltfläche (JButton) [ Speichern ] als jene,
* auf die mit der Enter-Taste ein Mausklick ausgelöst
wird.
*/
parmTF.setEnterTriggeredButton(parmTF.get_btn_Store());
}
/*
* Methode
die jenen Datensatz anzeigt dessen Anwender-bekannte
Identifikation
* auf die Identifikation des angezeigten
Datensatzes folgt. */
private
static void
getNext(
application
_Currency
parmTF)
{
/*
*
Prüfen ob Daten erfasst aber nicht gespeichert wurden. */
if
(! checkForUnstoredChanges(parmTF))
{
/*
Anwender hat entschieden, dass er geänderte aber nicht
gespeicherte Daten
* weiter bearbeiten will. */
return
;
}
/*
Aufheben des gelesenen Datensatzes weil dieser auch verändert
wird wenn
* kein 'nächster' gefunden wird.
*/
parmTF.
struct
application_
Currency_BOC_Processed
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Read
);
/*
*
Methode des BOC, das den 'nächsten' Datensatz holt,
aufrufen.
* Dabei wird der 'Startpunkt' aus den
angezeigten Daten gewonnen.
*/
parmTF.
struct
application_
Currency_BOC_Read
.selectNext(
parmTF.struct
application_
Currency_BOC_Read
.
ISOCurrencyCode
,
parmTF.struct
application_
Currency_BOC_Read
.
LanguageCodeForLabelling
);
/*
* Prüfen
ob die Datenbank-Operation fehlerfrei war; dazu den Status-Code des
* BOC abfragen.
*/
switch
(parmTF.
struct
application_
Currency_BOC_Read
.
StatusCode
)
{
case
JSBS_BO.
CONST_OK
:
/*
Datenbank-Operation wie erwartet;
* Von der Datenbank
gelesenes BO (xxx_Read) auf das BO, das die Werte aus den
Eingabefeldern
* (xxx_Processed) enthält,
kopieren.
* Damit kann in einem späteren Schritt
verglichen werden ob ein Attribut geändert wurde.
*/
parmTF.
struct
application_
Currency_BOC_Processed
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Read
);
/* Daten
anzeigen. */
setToGUI(parmTF);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden.
*/
break
;
case
JSBS_BO.
CONST_NOT_FOUND
:
/* Ein
Datensatz mit einem Anwender-bekannten Schlüssel, der nach dem
Anwender-bekannten Schlüssel
* des gerade angezeigten
Datensatzes folgt, exisitert nicht.
*/
parmTF.handleErrorEvent(
CONST_ClassName
,
"NoNext"
);
/*
'Aufgehobenen' Datensatzes wieder in die Struktur für den
gelesenen Datensatz übertragen
* damit nicht falsche
und verwirrende Meldungen wegen veränderter Daten kommen.
*/
parmTF.
struct
application_
Currency_BOC_Read
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Processed
);
/* Daten
anzeigen damit die angezeigten Daten mit jenen im Datensatz
übereinstimmen. */
setToGUI(parmTF);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden.
*/
break
;
default
:
/* Ein
anderer Fehler ist beim Lesen der Daten
aufgetreten.
* Fehlerbehandlungs-Methode (in der
Basisklasse für das Task-Frame) aufrufen und zusätzlich
* zur
'Location' (Klassenname, Locationscode "selectNext_DBError")
auch den Status-Code
* und die Fehler-Meldung des BOC als
Parameter übergeben.
*/
parmTF.handleErrorEvent(
CONST_ClassName
,
"selectNext_DBError"
,
Integer.toString(parmTF.struct
application_
Currency_BOC_Read
.
StatusCode
),
parmTF.struct
application_
Currency_BOC_Read
.
StatusMsg
,
parmTF.struct
application_
Currency_BOC_Read
.
ISOCurrencyCode
,
parmTF.struct
application_
Currency_BOC_Read
.
LanguageCodeForLabelling
);
}
}
/*
*
Methode die jenen Datensatz anzeigt dessen Anwender-bekannte
Identifikation
* vor der Identifikation des angezeigten
Datensatzes liegt. */
private
static void
getPrevious(
application
_Currency
parmTF)
{
/*
*
Prüfen ob Daten erfasst aber nicht gespeichert wurden. */
if
(! checkForUnstoredChanges(parmTF))
{
/*
Anwender hat entschieden, dass er geänderte aber nicht
gespeicherte Daten
* weiter bearbeiten will. */
return
;
}
/*
Aufheben des gelesenen Datensatzes weil dieser auch verändert
wird wenn
* kein 'nächster' gefunden wird.
*/
parmTF.
struct
application_
Currency_BOC_Processed
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Read
);
/*
*
Methode des BOC, das den 'vorigen' Datensatz holt, aufrufen.
* Dabei
wird der 'Startpunkt' aus den angezeigten Daten gewonnen.
*/
parmTF.
struct
application_
Currency_BOC_Read
.selectPrevious(
parmTF.struct
application_
Currency_BOC_Read
.
ISOCurrencyCode
,
parmTF.struct
application_
Currency_BOC_Read
.
LanguageCodeForLabelling
);
/*
* Prüfen
ob die Datenbank-Operation fehlerfrei war; dazu den Status-Code des
* BOC abfragen.
*/
switch
(parmTF.
struct
application_
Currency_BOC_Read
.
StatusCode
)
{
case
JSBS_BO.
CONST_OK
:
/*
Datenbank-Operation wie erwartet;
* Von der Datenbank
gelesenes BO (xxx_Read) auf das BO, das die Werte aus den
Eingabefeldern
* (xxx_Processed) enthält,
kopieren.
* Damit kann in einem späteren Schritt
verglichen werden ob ein Attribut geändert wurde.
*/
parmTF.
struct
application_
Currency_BOC_Processed
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Read
);
/* Daten
anzeigen. */
setToGUI(parmTF);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden.
*/
break
;
case
JSBS_BO.
CONST_NOT_FOUND
:
/* Ein
Datensatz mit einem Anwender-bekannten Schlüssel, der nach dem
Anwender-bekannten Schlüssel
* des gerade angezeigten
Datensatzes folgt, exisitert nicht.
*/
parmTF.handleErrorEvent(
CONST_ClassName
,
"NoPrevious"
);
/*
'Aufgehobenen' Datensatzes wieder in die Struktur für den
gelesenen Datensatz übertragen
* damit nicht falsche
und
verwirrende
Meldungen
wegen veränderter Daten kommen.
*/
parmTF.
struct
application_
Currency_BOC_Read
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Processed
);
/* Daten
anzeigen damit die angezeigten Daten mit jenen im Datensatz
übereinstimmen. */
setToGUI(parmTF);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden.
*/
break
;
default
:
/* Ein
anderer Fehler ist beim Lesen der Daten
aufgetreten.
* Fehlerbehandlungs-Methode (in der
Basisklasse für das Task-Frame) aufrufen und zusätzlich
* zur
'Location' (Klassenname, Locationscode "selectPrevious_DBError")
auch den Status-Code
* und die Fehler-Meldung des BOC als
Parameter übergeben.
*/
parmTF.handleErrorEvent(
CONST_ClassName
,
"selectPrevious_DBError"
,
Integer.toString(parmTF.struct
application
_Currency_BOC_Read
.
StatusCode
),
parmTF.struct
application_
Currency_BOC_Read
.
StatusMsg
,
parmTF.struct
application_
Currency_BOC_Read
.
ISOCurrencyCode
,
parmTF.struct
application_
Currency_BOC_Read
.
LanguageCodeForLabelling
);
}
}
/*
* Methode
zum Lesen eines einzelnen BO von der Datenbank und Anzeigen von
dessen Werte.
* Die Anwender-bekannte Identifikation wird in
den Parametern übergeben:
* ISO-Code der Währung und
ISO-Code der Sprache für die Bezeichnung der Währung.
*
Wenn mit dieser Identifikation ein Datensatz gefunden wird dann wird
von dieser Methode
* 'true' zurück geliefert; sonst
false. */
protected
static boolean
getSingleBO(
application
_Currency
parmTF,
String
parmISOCurrencyCode,
String
parmLanguageCodeForLabelling) {
/*
* Aktuell
gültiges BO von der Datenbank lesen. */
parmTF.struct
application_
Currency_BOC_Read
.selectByUserKnownKey(
parmISOCurrencyCode,
parmLanguageCodeForLabelling);
/*
* Prüfen
ob die Datenbank-Operation fehlerfrei war; dazu den Status-Code des
* BOC abfragen. */
switch
(parmTF.
struct
application_
Currency_BOC_Read
.
StatusCode
)
{
case
JSBS_BO.
CONST_OK
:
/*
Datenbank-Operation wie erwartet;
* Von der Datenbank
gelesenes BO (xxx_Read) auf das BO, das die Werte aus den
Eingabefeldern
* (xxx_Processed) enthält,
kopieren.
* Damit kann in einem späteren Schritt
verglichen werden ob ein Attribut geändert wurde. */
parmTF.struct
application_
Currency_BOC_Processed
.
copyFromJSBS_Currency_BO(
parmTF.struct
application_
Currency_BOC_Read
);
/* Daten
anzeigen. */
setToGUI(parmTF);
/*
An die aufrufende Methode signalisieren dass ein Datensatz gefunden
wurde. */
return
true
;
case
JSBS_BO.
CONST_NOT_FOUND
:
/*
Kein Datensatz mit den in den Parametern übergebenen Werten für
den Anwender-bekannten
* Schlüssel gefunden. Über
'false' an die aufrufende Methode signalisieren. */
return false
;
default
:
/* Ein
anderer Fehler ist beim Selektieren
aufgetreten.
* Fehlerbehandlungs-Methode (in der
Basisklasse für das Task-Frame) aufrufen und zusätzlich
* zur
'Location' (Klassenname, Locationscode "getSingleBO_DBError")
auch den Status-Code und die
* Fehler-Meldung des BOC
als Parameter übergeben. */
parmTF.handleErrorEvent(CONST_ClassName
,
"getSingleBO_DBError"
,
Integer.toString(parmTF.struct
application_
Currency_BOC_Read
.
StatusCode
),
parmTF.struct
application_
Currency_BOC_Read
.
StatusMsg
);
}
/*
Return-Wert, falls das Programm doch diese Stelle erreicht. */
return false
;
}
/*
* Methode
zum Auswählen eines Business-Objects aus der angezeigten
Liste,
* neuerliches Lesen des BO von der Datenbank
(falls ein anderer Anwender in der
* Zwischenzeit eine
Veränderung vorgenommen hat) und Anzeigen der Werte im
Detail-Bereich
* (Teil der GUI mit den GUI-Elementen
für die Eingabe von Werten) der GUI. */
protected
static void
getForUpdate(
application
_Currency
parmTF)
{
/*
*
Prüfen ob Daten erfasst aber nicht gespeichert wurden. */
if
(! checkForUnstoredChanges(parmTF))
{
/*
Anwender hat entschieden, dass er geänderte aber nicht
gespeicherte Daten
* weiter bearbeiten will. */
return
;
}
/*
* Nummer
aus dem Auswahl-Feld der GUI auslesen.
* Mit der
verwendeten Methode wird die (in der Methode 'redisplayBOList(...)'
parameterisierte)
* Klasse 'JSBS_EntryRules' auf die
erlaubten Grenzen für die eingegebene Ziffer geprüft.
* Bei
einem ungültigen Wert wird der Hintergrund rot gefärbt.
*/
Integer
intSelectedRow
=
JSBS_GUIServices.getInteger(parmTF.get_txt_Selection(),
parmTF);
/*
* Bei
einer ungültigen Eingabe (auch wenn der Wert außerhalb der
erlaubten Grenzen ist)
* wird von der Methode ein
'null'-Wert zurückgeliefert.
* In diesem Fall wird
die Methode beendet; dem Anwender wird durch den roten
Hintergrund
* die fehlerhafte Eingabe signalisiert.
*/
if
(intSelectedRow
==
null
)
return
;
/*
* Eingegebene
Nummer ist gültig; indiziertes BO in eigenes Objekt
übertragen.
* Durch das eigene Objekt ist der
folgende Code leichter lesbar. */
int
intListIndex
= intSelectedRow.intValue() - 1;
JSBS_Currency_BO
structJSBS_Currency_BO =
(JSBS_Currency_BO)
parmTF.structJSBS_Currency_BOC_Set
.
vecRecordSet
.elementAt(intListIndex);
/*
*
Methode zum Lesen und Anzeigen eines einzelnen BO aufrufen.
*
Über den Rückgabewert wird signalisiert, ob der Datensatz
gefunden wurde. */
if
(getSingleBO(parmTF,
structJSBS_Currency_BO.ISOCurrencyCode
,
structJSBS_Currency_BO.LanguageCodeForLabelling
))
{
/*
*
BO erfolgreich gelesen und angezeigt. */
/*
* Setzen
des Focus auf das Feld für die Eingabe des Auswahl-Codes für
einen Datensatz.
* Damit wird dem Benutzer sofort
wieder ermöglicht, eine Auswahl einzugeben. */
parmTF.get_txt_Selection().requestFocusInWindow();
/*
* Festlegen
der Schaltfläche (JButton) [ Bearbeiten ] als jene,
* auf die mit der Enter-Taste ein Mausklick ausgelöst
wird. */
parmTF.setEnterTriggeredButton(parmTF.get_btn_Get());
}
else
{
/* In
der Liste angezeigtes BO wurde in der Zwischenzeit gelöscht.
*/
parmTF.handleErrorEvent(CONST_ClassName
,
"getForUpdate_NotFound"
);
}
}
/*
* Methode
zum 'Deaktivieren' eines Business-Objects aus der angezeigten
Liste.
* 'Deaktivieren' heisst, dass die Gültigkeit des
BO beendet wird - der Datensatz
* aber noch auf der
Datenbank-Tabelle bleibt
* (Teil der GUI mit den
GUI-Elementen für die Eingabe von Werten) der
GUI. */
protected
static void
processDeactivate(
application
_Currency
parmTF)
{
/*
* Nummer
aus dem Auswahl-Feld der GUI auslesen.
* Mit der
verwendeten Methode wird die (in der Methode 'redisplayBOList(...)'
parameterisierte)
* Klasse 'JSBS_EntryRules' auf die
erlaubten Grenzen für die eingegebene Ziffer geprüft.
* Bei
einem ungültigen Wert wird der Hintergrund rot gefärbt.
*/
Integer
intSelectedRow
=
JSBS_GUIServices.getInteger(parmTF.get_txt_Selection(),
parmTF);
/*
* Bei
einer ungültigen Eingabe (auch wenn der Wert außerhalb der
erlaubten Grenzen ist)
* wird von der Methode ein
'null'-Wert zurückgeliefert.
* In diesem Fall wird
die Methode beendet; dem Anwender wird durch den roten
Hintergrund
* die fehlerhafte Eingabe signalisiert.
*/
if
(intSelectedRow
==
null
)
return
;
/*
* Eingegebene
Nummer ist gültig; indiziertes BO in eigenes Objekt
übertragen.
* Durch das eigene Objekt ist der
folgende Code leichter lesbar. */
int
intListIndex
= intSelectedRow.intValue() - 1;
JSBS_Currency_BO
structJSBS_Currency_BO
=
(JSBS_Currency_BO)
parmTF.structJSBS
_
Currency_BOC_Set
.
vecRecordSet
.elementAt(intListIndex);
/*
*
Aus dem BO ein BOC (Client-Side-Klasse) machen und dieses dann
'deaktivieren'
* Durch dieses Verfahren wird auch geprüft,
ob das BO inzwischen durch einen anderen
* Anwender
verändert wurde. */
application_
Currency_BOC
struct
application_
Currency_BOC
=
new
application_
Currency_BOC(parmTF.
frmCC
,
parmTF);
struct
application_
Currency_BOC.copyFromJSBS_Currency_BO(structJSBS_Currency_BO);
/*
*
Methode zum Deaktivieren aufrufen.
*/
struct
application_
Currency_BOC.deactivate();
/*
* Prüfen
ob die Datenbank-Operation fehlerfrei war; dazu den Status-Code des
* BOC abfragen.
*/
switch
(struct
application_
Currency_BOC.
StatusCode
)
{
case
JSBS_BO.
CONST_OK
:
/*
Datenbank-Operation wie erwartet;
* Liste neu anzeigen.
*/
redisplayBOList(parmTF);
/*
Algorithmus zum Entfernen der angezeigten Daten wenn das gerade
deaktivierte BO
* im DetailBereich der GUI angezeigt wurde.
*/
if
(struct
application_
Currency_BOC.
ObjectID
==
parmTF.
struct
application_
Currency_BOC_Read
.
ObjectID
)
{
/*
Ein 'leeres' BOC für die anzuzeigenden Daten erstellen. */
parmTF.
struct
application_
Currency_BOC_Read
=
new
application
_Currency_BOC(parmTF.
frmCC
,
parmTF);
/*
Auf das BOC zum Vergleichen kopieren. */
parmTF.
struct
application_
Currency_BOC_Processed
.
copyFromJSBS_Currency_BO(parmTF.
struct
application_
Currency_BOC_Read
);
/*
'Leere' Felder anzeigen; dazu die bestehende Methode benutzen. */
setToGUI(parmTF);
/*
* Methode
aufrufen in der Felder für die Eingabe gesperrt bzw. geöffnet
werden wenn ein neuer Datensatz
* eingefügt
werden soll.
* Geöffnet werden jene Felder, die
Teil der Anwender-bekannten-Identifikation sind.
* Sonderfall
ist das Sperren jener Felder in denen eine Eingabe nicht erlaubt ist
wenn
* das Anwendungsprogramm in der Version
'MobileClient' läuft und die Verbindung zum JAS
* (Java
Application Server) unterbrochen ist. */
setFieldsForInsert(parmTF);
}
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
case
JSBS_Currency_BO.
CONST_DEACTIVATE_INHIBIT_REASON_AdditionalLanguageLabelling
:
/* Das
BO ist der Standard-Datensatz für eine Währung und es existiert noch ein
Datensatz
* mit einer Bezeichnung für die Währung in einer anderen Sprache.
* Anwender-bekannte Identifikation des
referenzierenden BO in der Variable 'StatusMsg'. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"processDeactivate_AdditionalLanguageLabelling
"
,
struct
application_
Currency_BOC
.
StatusMsg
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
case
JSBS_Currency_BO.
CONST_DEACTIVATE_INHIBIT_REASON_LeadingCurrency
:
/* Das
BO ist der Standard-Datensatz für die Leitwährung und diese darf nicht deaktiviert werden.
* Anmerkung:
* Über ein eigenes Task-Frame kann die Leitwährung geändert werden. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"processDeactivate_LeadingCurrency
"
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
/*
* ***********
* Das folgende case-Statement ist für jeden
Hinderungsgrund für das Deaktivieren
* (weil noch
mindestens ein Datensatz, der den zu deaktivierenden Datensatz
als
* Fremdschlüssel hat, existiert) zu kopieren
und zu adaptieren.*/
case
application_
Currency_BOC.
CONST_DEACTIVATE_INHIBIT_REASON_
Reason
:
/* Das
BO ist Fremdschlüssel eines anderen BO und darf nicht
deaktiviert werden.
* Wenn
die Abfrage entsprechend dem Muster implementiert wurde, dann ist
der
* Anwender-bekannte Identifikation des
referenzierenden BO in der Variable 'StatusMsg'. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"processDeactivate_
DependantRecord_XXX
"
,
struct
application_
Currency_BOC
.
StatusMsg
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
/* Ende
des zu kopierenden und adaptierenden Codes.
* ***********
* */
case
JSBS_BO.
CONST_CHANGED_INBETWEEN
:
/* In
der Liste angezeigtes BO wurde in der Zwischenzeit von einem anderen
Anwender
*
verändert und darf nicht gelöscht werden. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"processDeactivate_ChangedInbetween"
,
struct
application_
Currency_BOC
.
ChangedBy
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
case
JSBS_BO.
CONST_NOT_FOUND
:
/* In
der Liste angezeigtes BO wurde in der Zwischenzeit von einem anderen
Anwender gelöscht. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"processDeactivate_NotFound"
,
struct
application_
Currency_BOC
.
ISOCurrencyCode
,
struct
application_
Currency_BOC
.
LanguageCodeForLabelling
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
default
:
/* Ein
anderer Fehler ist beim Deaktivieren
aufgetreten.
* Fehlerbehandlungs-Methode (in der
Basisklasse für das Task-Frame) aufrufen und zusätzlich
* zur
'Location' (Klassenname, Locationscode "DupKey") auch den
Status-Code und die
* Fehler-Meldung des BOC als
Parameter übergeben. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"processDeactivate_DBError"
,
Integer.toString(structapplication_
Currency_BOC.
StatusCode
),
structapplication_
Currency_BOC.
StatusMsg
);
}
/*
* Setzen
des Focus auf das Feld für die Eingabe des Auswahl-Codes für
einen Datensatz.
* Damit wird dem Benutzer sofort
wieder ermöglicht, eine Auswahl einzugeben.
*/
parmTF.get_txt_Selection().requestFocusInWindow();
/*
* Festlegen
der Schaltfläche (JButton) [ Bearbeiten ] als jene,
* auf die mit der Enter-Taste ein Mausklick ausgelöst
wird. */
parmTF.setEnterTriggeredButton(parmTF.get_btn_Get());
}
/*
* Methode
die prüft, ob geänderte Daten nicht gespeichert wurden
und
* wenn notwendig ein Fenster mit der Rückfrage an
den Anwender anzeigt. */
protected
static boolean
checkForUnstoredChanges(
application
_Currency
parmTF) {
/*
*
Als erstes wird geprüft, ob überhaupt geänderte und
nicht gespeicherte Daten
*
vorhanden sind. */
if
(parmTF.
struct
application_
Currency_BOC_Processed
.isDifferent(
parmTF.
struct
application_
Currency_BOC_Read
))
{
/*
*
Variable aus dem DocumentListener ob die Daten komplett und
fehlerfrei sind und
* gespeichert werden können. */
boolean
bolSaveable
=
parmTF.
struct
application_
Currency__DocumentListener
.
bolCompleteEntryOK
;
/*
*
Variable für die Rückgabe aus dieser Methode; 'true'
signalisiert, dass
im
Programm
* mit der vom Anwender gewünschten Aktion
fortgesetzt wird.
* 'false' signalisiert, dass der Anwender
die Daten korrigieren will.
*/
boolean
bolContinue
=
false
;
/*
*
Variable mit dem Wert der aus dem Dialog mit dem Anwender
zurückgegeben wird und
* signalisiert wie im Programm
fortgesetzt wird. */
String strProcessIndicator = ""
;
/*
*
Aufrufen des Dialog-Fensters für die Rückfrage an den
Anwender.
* Die verwendete Klasse ist unter den
JavaScout-Basisklassen implementiert. */
JSBS_UnstoredChangesDialog
dlgJSBS_UnstoredChangesDialog =
new
JSBS_UnstoredChangesDialog(parmTF,
bolSaveable);
/*
Durch die Definition als 'Dialog' ist das Task-Frame 'gesperrt'
solange das jetzt
* aufgerufene Fenster nicht geschlossen
ist.
* Der anschließende Code wird erst nach dem
Schließen von JSBS_UnstoredChangesDialog
* ausgeführt.
*/
/*
*
Übernehmen welche weitere Verarbeitung der Anwender ausgewählt
hat. */
strProcessIndicator =
dlgJSBS_UnstoredChangesDialog.strProcessIndicator
;
/*
*
Klasse mit dem Dialog wird ab jetzt nicht mehr gebraucht. */
dlgJSBS_UnstoredChangesDialog.dispose();
/*
*
Abfragen wie der Anwender fortsetzen will und die entsprechende
Verarbeitung ausführen.
*/
if
(strProcessIndicator.compareTo(JSBS_UnstoredChangesDialog.
CONST_PROCESS_STORE
)
== 0) {
/*
*
Daten sollen gespeichert werden und dann soll mit der vom Anwender
gewünschten Aktion
*
fortgesetzt werden.
*/
store(parmTF);
bolContinue
=
true
;
}
if
(strProcessIndicator.compareTo(JSBS_UnstoredChangesDialog.
CONST_PROCESS_DISCARD
)
== 0) {
/*
*
Daten sollen nicht gespeichert werden; mit der vom Anwender
gewünschten Aktion
fortsetzen.
*/
bolContinue
=
true
;
}
if
(strProcessIndicator.compareTo(JSBS_UnstoredChangesDialog.
CONST_PROCESS_BACK
)
== 0) {
/*
*
Daten sollen nicht gespeichert werden und die vom Anwender gewünschte
Aktion soll nicht
*
ausgeführt werden. Stattdessen will der Anwender die
eingegebenen Daten verändern.
*/
bolContinue
=
false
;
}
/*
*
An die aufrufende Methode signalisieren wie der Anwender fortsetzen
will.
*/
return
bolContinue;
}
else
{
/*
*
Keine ungespeicherten Daten vorhanden; der aufrufenden Methode
signalisieren, dass
* mit der gewünschten Aktion des
Anwenders fortgesetzt werden kann. */
return
true
;
}
}
/*
* Methode
zum Füllen der Combobox für die Sprach-Auswahl bei einer
sprach-spezifischen
* Bezeichnung der Währung.
*/
protected
static void
fillLanguageCodeForLabelling(
application
_Currency
parmTF) {
/*
*
Methode aus den Basisklassen zum Füllen verwenden. */
parmTF.
frmCC
.fillLanguageComboBox(parmTF.get_combo_LanguageCodeForLabelling());
/*
*
Als ersten Eintrag in der Combobox die 'Standard'-Auswahl hinzufügen.
*/
JSBS_GUIServices.insertJComboBoxItemAtIndex0(parmTF.get_combo_LanguageCodeForLabelling(),
parmTF.
frmCC
.
structJSBS_XML_DisplayStrings
.getSupplementaryText(
"StandardNotation"
));
/*
*
Auswahl auf den ersten Eintrag in der Combobox-Liste setzen. */
JSBS_GUIServices.setJComboBoxItem0(parmTF.get_combo_LanguageCodeForLabelling());
}
/*
* Methode
zum Füllen der Combobox mit den auswählbaren Währungen
für die weitere Bearbeitung. */
protected
static void
fillSelection_ISOCurrencyCode(
application
_Currency
parmTF) {
/*
*
Methode aus den Basisklassen verwenden. */
parmTF.
frmCC
.fillCurrencyComboBox(parmTF.get_combo_SelectCurrency());
}
/*
* Methode
zum Behandeln der Eingabefelder in Abhängigkeit von der Auswahl
der Bezeichnungssprache.
* Nur bei der Auswahl der
'Standard-Bezeichnung' wird auch erlaubt, die zusätzlichen
Attribute
* (Umrchnungskurse, Marker) zu verändern.
* Wenn der Datensatz 'nur'
die Bezeichnung der Währung in einer weitern Sprache enthält
werden die
* zusätzlichen Attribute für die
Eingabe gesperrt. */
protected
static void
processSelectedLanguageCodeForLabelling(
application
_Currency
parmTF) {
/*
*
Annahme, dass bei einer 'MobileClient'-Version mit unterbrochener
Verbindung zum JAS-Server
* die Eingaben der in den Methoden
'setFieldsForInsert(...)' und 'setFieldsForUpdate(...)'
*
festgelegten GUI-Elemente nicht verändert werden.
* Ist
in Ihrer Anwendung eine andere Regel erforderlich, löschen Sie
bitte das folgende Statement
* und adaptieren Sie diese
Methode entsprechend Ihren Anforderungen. */
if
(
(
parmTF.
frmCC
.
RunVersion
==
JSBS_StartFrame.
CONST_MobileClient
)
&&
(! parmTF.
frmCC
.
bolJASConnectionEstablished
))
return
;
/*
*
Abfragen, ob die Standard-Bezeichnung (erster Eintrag in der Liste
der Combobox) ausgewählt ist. */
boolean
bolDefaultLanguageSelected
=
JSBS_GUIServices.isJComboBoxItem0Selected(parmTF.get_combo_LanguageCodeForLabelling());
/*
* Für das 'Enable' oder 'Disable' der Eingabefelder den soeben
ermittelten Boolschen Wert verwenden. */
parmTF.get_txt_MiddleRateToLeadCurrency().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_txt_BuyingRateToLeadCurrency().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_txt_SellingRateToLeadCurrency().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker01().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker02().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker03().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker04().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker05().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker06().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker07().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker08().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker09().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker10().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker11().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker12().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker13().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker14().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker15().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker16().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker17().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker18().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker19().setEnabled(
bolDefaultLanguageSelected
);
parmTF.get_chk_Marker20().setEnabled(
bolDefaultLanguageSelected
);
/*
* Bei der Leitwährung dürfen die Umrechnungskurse nicht verändert werden. */
if
(
parmTF.
structapplication_Currency_BOC_Processed
.
LeadCurrencyIndicator
.equals(
JSBS_Currency_BO.
CONST_LEADCURRENCY_YES
)
) {
parmTF.get_txt_MiddleRateToLeadCurrency().setEnabled(
false
)
;
parmTF.get_txt_
BuyingRateToLeadCurrency
().setEnabled(
false
)
;
parmTF.get_txt_
SellingRateToLeadCurrency
().setEnabled(
false
)
;
}
}
}
Welche Platzhalter
durch Bezeichnungen des eigentlichen Projektes zu ersetzen sind
finden Sie im Abschnitt
Anleitung
zur Adaptierung in allen Klassen und
Anleitung
zur Adaptierung in der Klasse für den DocumentListener
.
package
application_package
.client;
/*
*
Package und Klasse für die Behandlung von Status-Änderungen
bei
* GUI-Elementen vom Typ JCheckBox und JRadioButton.
*/
import
java.awt.event.ItemEvent;
/*
*
Package mit den Klassen für die GUI-Elemente. */
import
javax.swing.*;
/*
*
Packages mit den Klassen für die Behandlung von Document und
-Event. */
import
javax.swing.text.*;
import
javax.swing.event.*;
/*
*
Package mit der Basisklassen für das TaskFrame. */
import
js_base.frame.*;
/**
*
* @author name[at]company
* @date 20xx-xx-xx
*
* @description
* DocumentListener-Klasse.
* Ein
Objekt dieser Klasse ist bei allen GUI-Elementen, bei denen
Text
* eingegeben (z.B. JTextField) oder
ausgewählt (z.B. JComboBox) werden kann, 'registirert'.
* Wenn
eine Text-Eingabe erfolgt wird eine zugehörige Methode, die in
der geerbten Basisklasse
* definiert ist,
aufgerufen.
* Jede dieser Methoden ruft die
Methode 'anyUpdate(...) auf.
* In dieser Methode
wird abgefragt, bei welchem GUI-Element der Text geändert wurde
und
* die entsprechenden Prüfungen
ausgeführt.
* Detail-Dokumentation finden
Sie bei den einzelnen Methoden.
*
* @change-log
*
when who why
*
--------------------------------------------------------
*
*/
public
class
application_
Currency__DocumentListener
extends
JSBS_TaskFrame__DocumentListener
{
/*
* Referenz auf das zugehörige Task-Frame.
*/
private
application_
Currency
frmTF;
/*
* Objekte der Klasse 'Document', die für die
Textaufbereitung bei GUI-Elementen zuständig sind.
* Diese
werden aus Performanz-Gründen im 'Constructor' aus den
GUI-Elementen herausgelesen und
* in den folgenden
Variablen gehalten. */
private
Document
doc_txt_ISOCurrencyCode;
private
Document
doc_txt_CurrencyName
;
private
Document
doc_txt_MiddleRateToLeadCurrency
;
private
Document
doc_txt_BuyingRateToLeadCurrency
;
private
Document
doc_txt_SellingRateToLeadCurrency
;
/*
* Merker (Flags) ob die Eingaben in den GUI-Elementen
korrekt sind. */
private
boolean
bol_txt_ISOCurrencyCode_OK;
private
boolean
bol_txt_CurrencyName_OK;
private
boolean
bol_combo_LanguageCodeForLabelling_OK;
private
boolean
bol_
txt_MiddleRateToLeadCurrency
_OK
;
private
boolean
bol_txt_
BuyingRateToLeadCurrency
_OK
;
private
boolean
bol_txt_
SellingRateToLeadCurrency
_OK
;
/*
* Constructor der Klasse.
* Code darin
wird aufgerufen wenn ein Objekt dieser Klasse erstellt wird.
* Als
Parameter wird das jeweilig TaskFrame übernommen. */
public
application_
Currency__DocumentListener(
application_
Currency
parmTF)
{
/*
* Aufruf des Constructors der Basisklasse
(JSBS_TaskFrame__DocumentListener).
* Darin werden die
Klasse des aufrufenden TaskFrames und die 'Document's der
GUI-Elemente,
* die in der Basisklasse
(JSBS_TaskFrame) definiert sind, in die dort definierten
* Variablen
übertragen. */
super
(parmTF);
/*
* Übernehmen
der als Parameter übergebenen Referenz auf das aufrufende
Task-Frame
* in die Variable dieser Klasse.
*/
frmTF
=
parmTF;
/*
* 'Herausholen'
des jeweiligen 'Document' aus den GUI-Elementen für die Eingabe
von Werten.
* Das wird aus Performanz-Gründen
einmalig im 'Constructor' durchgeführt. */
doc_txt_ISOCurrencyCode
=
frmTF
.get_txt_ISOCurrencyCode().getDocument();
doc_txt_CurrencyName
=
frmTF
.get_txt_CurrencyName().getDocument();
doc_txt_MiddleRateToLeadCurrency
=
frmTF
.get_txt_MiddleRateToLeadCurrency().getDocument();
doc_txt_BuyingRateToLeadCurrency
=
frmTF
.get_txt_BuyingRateToLeadCurrency().getDocument();
doc_txt_SellingRateToLeadCurrency
=
frmTF
.get_txt_SellingRateToLeadCurrency().getDocument();
/*
* Erstmaliges
'Setzen' der OK-Flags.
* Für alle als 'Mandatory'
definierten GUI-Elemente wird 'false' gesetzt.
* Damit
wird bewirkt, dass beim erstmaligen Aufrufen des Task-Frames in leere
Felder,
* die als 'Mandatory' definiert sind, Werte
eingegeben werden müssen. */
bol_txt_ISOCurrencyCode_OK
=
!
frmTF
.
structJSBS_EntryRules
.checkMandatory(
frmTF
.get_txt_ISOCurrencyCode());
bol_txt_CurrencyName_OK
=
!
frmTF
.
structJSBS_EntryRules
.checkMandatory(
frmTF
.get_txt_CurrencyName());
bol_combo_LanguageCodeForLabelling_OK
=
!
frmTF
.
structJSBS_EntryRules
.checkMandatory(
frmTF
.get_combo_LanguageCodeForLabelling());
bol_txt_MiddleRateToLeadCurrency_OK
=
!
frmTF
.
structJSBS_EntryRules
.checkMandatory(
frmTF
.get_txt_MiddleRateToLeadCurrency());
bol_txt_BuyingRateToLeadCurrency_OK
=
!
frmTF
.
structJSBS_EntryRules
.checkMandatory(
frmTF
.get_txt_BuyingRateToLeadCurrency());
bol_txt_SellingRateToLeadCurrency_OK
=
!
frmTF
.
structJSBS_EntryRules
.checkMandatory(
frmTF
.get_txt_SellingRateToLeadCurrency());
}
/*
* Methode die indirekt aufgerufen wird wenn ein Wert
eines GUI-Elements verändert wird.
* 'Indirekt
aufgerufen' bedeutet, dass die mit dem 'DocumentListener' zu
implementierenden
* 'abstrakten Methoden' in der
Basisklasse (JSBS_TaskFrame__DocumentListener)
'konkret'
* implementiert sind und in diesen Methoden
diese Methode (anyUpdate) aufgerufen wird.
* Dieser
Code ist also das 'Überschreiben' der Methode der geerbten
Klasse. */
public
void
anyUpdate(DocumentEvent
e) {
/*
* Aufruf der Methode in der geerbten Klasse.
* Damit
werden die in den Basisklassen definierten GUI-Elemente verarbeitet.
*/
super
.anyUpdate(e);
/*
* 'Document'
welches den Event ausgelöst hat, aus dem Event ermitteln.
*/
Document
edoc = e.getDocument();
/*
* 'Document'
mit allen als Variable definierten (und im Constructor
ermittelten)
* 'Document's der GUI-Elemente
vergleichen. */
/*
* 'Document' aus
einem JTextField vergleichen. */
if
(edoc
==
doc_txt_ISOCurrencyCode
)
{
/*
* Korrekturmassnahme
wenn dieses GUI-Element in der Methode 'copy' des ActionHandlers als
Feld
* mit Schlüsselwert markiert wurde:
Wiederherstellen von Standard-Farbe, -Font und
-Schriftgrösse.
* Wenn dieses GUI-Element nicht
Teil des Anwender-bekannten Schlüssels ist kann dieser
Code
* weg gelassen werden.
*/
JSBS_GUIServices.setDefinedForegroundColor(frmTF
.get_txt_ISOCurrencyCode(),
frmTF
);
/*
* Eingabe
im GUI-Feld auf Gültigkeit prüfen. Dazu wird die Methode
zum Auslesen des Wertes
* verwendet. In der
verwendeten Methode wird auch der Hintergrund des GUI-Elements
eingefärbt. */
bol_txt_ISOCurrencyCode_OK
=
(
JSBS_GUIServices.getTextFromJTextField(frmTF
.get_txt_ISOCurrencyCode(),
frmTF
)
!=
null
);
/* Wenn
der eingegebene Wert die Prüf-Regeln bestanden hat dann wird der
Wert auf das
* zugehörige Attribut des BO
übertragen.
* Dazu wird die Methode
'getFromGUI(...) der jeweiligen BOC-Klasse verwendet. */
if
(
bol_txt_ISOCurrencyCode_OK
)
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
frmTF
.get_txt_ISOCurrencyCode(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
* 'Document' aus
einem JTextField vergleichen. */
if
(edoc
==
doc_txt_CurrencyName
)
{
/*
* Korrekturmassnahme
wenn dieses GUI-Element in der Methode 'copy' des ActionHandlers als
Feld
* mit Schlüsselwert markiert wurde:
Wiederherstellen von Standard-Farbe, -Font und
-Schriftgrösse.
* Wenn dieses GUI-Element nicht
Teil des Anwender-bekannten Schlüssels ist kann dieser
Code
* weg gelassen werden.
*/
JSBS_GUIServices.setDefinedForegroundColor(frmTF
.get_txt_CurrencyName(),
frmTF
);
/*
* Eingabe
im GUI-Feld auf Gültigkeit prüfen. Dazu wird die Methode
zum Auslesen des Wertes
* verwendet. In der
verwendeten Methode wird auch der Hintergrund des GUI-Elements
eingefärbt. */
bol_txt_CurrencyName_OK
=
(
JSBS_GUIServices.getTextFromJTextField(frmTF
.get_txt_CurrencyName(),
frmTF
)
!=
null
);
/* Wenn
der eingegebene Wert die Prüf-Regeln bestanden hat dann wird der
Wert auf das
* zugehörige Attribut des BO
übertragen.
* Dazu wird die Methode
'getFromGUI(...) der jeweiligen BOC-Klasse verwendet. */
if
(
bol_txt_CurrencyName_OK
)
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_txt_CurrencyName(),
null
,
null
,
null
);
}
/*
* 'Document
' aus einem JTextField vergleichen. */
if
(edoc
==
doc_txt_MiddleRateToLeadCurrency
)
{
/*
* Korrekturmassnahme
wenn dieses GUI-Element in der Methode 'copy' des ActionHandlers als
Feld
* mit Schlüsselwert markiert wurde:
Wiederherstellen von Standard-Farbe, -Font und
-Schriftgrösse.
* Wenn dieses GUI-Element nicht
Teil des Anwender-bekannten Schlüssels ist kann dieser
Code
* weg gelassen werden.
*/
JSBS_GUIServices.setDefinedForegroundColor(frmTF
.get_txt_MiddleRateToLeadCurrency(),
frmTF
);
/*
* Eingabe
im GUI-Feld auf Gültigkeit prüfen. Dazu wird die Methode
zum Auslesen des Wertes
* verwendet. In der
verwendeten Methode wird auch der Hintergrund des GUI-Elements
eingefärbt. */
bol_txt_
MiddleRateToLeadCurrency
_OK
=
(
JSBS_GUIServices.getBigDecimal(frmTF
.get_txt_
MiddleRateToLeadCurrency
(),
frmTF
)
!=
null
);
/* Wenn
der eingegebene Wert die Prüf-Regeln bestanden hat dann wird der
Wert auf das
* zugehörige Attribut des BO
übertragen.
* Dazu wird die Methode
'getFromGUI(...) der jeweiligen BOC-Klasse verwendet. */
if
(
bol_txt_
MiddleRateToLeadCurrency
_OK
)
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_txt_
MiddleRateToLeadCurrency
()
,
null
,
null
);
}
/*
* 'Document
' aus einem JTextField vergleichen. */
if
(edoc
==
doc_txt_BuyingRateToLeadCurrency
)
{
/*
* Korrekturmassnahme
wenn dieses GUI-Element in der Methode 'copy' des ActionHandlers als
Feld
* mit Schlüsselwert markiert wurde:
Wiederherstellen von Standard-Farbe, -Font und
-Schriftgrösse.
* Wenn dieses GUI-Element nicht
Teil des Anwender-bekannten Schlüssels ist kann dieser
Code
* weg gelassen werden.
*/
JSBS_GUIServices.setDefinedForegroundColor(frmTF
.get_txt_BuyingRateToLeadCurrency(),
frmTF
);
/*
* Eingabe
im GUI-Feld auf Gültigkeit prüfen. Dazu wird die Methode
zum Auslesen des Wertes
* verwendet. In der
verwendeten Methode wird auch der Hintergrund des GUI-Elements
eingefärbt. */
bol_txt_
BuyingRateToLeadCurrency
_OK
=
(
JSBS_GUIServices.getBigDecimal
(
frmTF
.get_txt_
BuyingRateToLeadCurrency
(),
frmTF
)
!=
null
);
/* Wenn
der eingegebene Wert die Prüf-Regeln bestanden hat dann wird der
Wert auf das
* zugehörige Attribut des BO
übertragen.
* Dazu wird die Methode
'getFromGUI(...) der jeweiligen BOC-Klasse verwendet. */
if
(
bol_txt_
BuyingRateToLeadCurrency
_OK
)
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_txt_
BuyingRateToLeadCurrency
()
,
null
);
}
/*
* 'Document
' aus einem JTextField vergleichen. */
if
(edoc
==
doc_txt_SellingRateToLeadCurrency
)
{
/*
* Korrekturmassnahme
wenn dieses GUI-Element in der Methode 'copy' des ActionHandlers als
Feld
* mit Schlüsselwert markiert wurde:
Wiederherstellen von Standard-Farbe, -Font und
-Schriftgrösse.
* Wenn dieses GUI-Element nicht
Teil des Anwender-bekannten Schlüssels ist kann dieser
Code
* weg gelassen werden.
*/
JSBS_GUIServices.setDefinedForegroundColor(frmTF
.get_txt_SellingRateToLeadCurrency(),
frmTF
);
/*
* Eingabe
im GUI-Feld auf Gültigkeit prüfen. Dazu wird die Methode
zum Auslesen des Wertes
* verwendet. In der
verwendeten Methode wird auch der Hintergrund des GUI-Elements
eingefärbt. */
bol_txt_
SellingRateToLeadCurrency
_OK
=
(
JSBS_GUIServices.getBigDecimal
(
frmTF
.get_txt_
SellingRateToLeadCurrency
(),
frmTF
)
!=
null
);
/* Wenn
der eingegebene Wert die Prüf-Regeln bestanden hat dann wird der
Wert auf das
* zugehörige Attribut des BO
übertragen.
* Dazu wird die Methode
'getFromGUI(...) der jeweiligen BOC-Klasse verwendet. */
if
(
bol_txt_
SellingRateToLeadCurrency
_OK
)
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_txt_
SellingRateToLeadCurrency
()
);
}
/*
* Prüfen
und Aktivieren / Deaktivieren von Schaltflächen (JButtons).
*/
setButtonStatus();
}
/*
* METHODE, die aus der Methode mit gleichem Namen in
der Klasse für den Aufbau der GUI
* aufgerufen wird
wenn sich der Status eines GUI-Elementes, das einen 'ItemListener'
*
zugeordnet hat, ändert.
* Diese GUI-Elemente mit einer
Superklasse vom Typ 'JToggleButton'; in der Praxis sind das
*
'JCheckBox' und 'JRadioButton'.
* Wenn keine
GUI-Elemente
dieses Typs existieren wird empfohlen, diese Methode 'leer' zu
lassen.
* Wenn diese Methode entfernt wird, muß auch
die Methode mit gleichem Namen in der Klasse
* für
den Aufbau der GUI entfernt werden.
*/
public
void
itemStateChanged(ItemEvent
e) {
/*
* Aufrufen der gleichnamigen Methode in der geerbten
Klasse.
* Darin wird behandelt, wenn die gewählte
Währung (in der Combobox 'combo_CurrencySelection')
*
geändert wird. */
super
.itemStateChanged(e);
/*
* Namen des GUI-Elements das den ItemEvent ausgelöst
hat; wird vorerst leer gelassen weil
* der Name abhängig
vom Typ aus verschiedenen Klassen ermittelt wird. */
String
strEventSourceName = ""
;
/*
* Prüfen ob das GUI-Element vom Superklassen-Typ
'JComponent' ist.
* Bei diesem Typ wird der Name des
auslösenden GUI-Elements aus der Unterkomponente
*
'Item' ermittelt.
*/
if
(e.getItem()
instanceof
JComponent)
{
/*
Zuerst auf den Typ JComponent umwandeln und dann den Namen des
GUI-Elementes ermitteln. */
JComponent locJComponent =
(JComponent)
e.getItem();
strEventSourceName =
locJComponent.getName();
}
/*
* Prüfen ob das GUI-Element vom Superklassen-Typ
'JComboBox' ist.
* Bei diesem Typ wird der Name des
auslösenden GUI-Elements aus der Unterkomponente
*
'Source' ermittelt.
*/
if
(e.getSource()
instanceof
JComboBox)
{
/*
Zuerst auf den Typ JComboBox umwandeln und dann den Namen des
GUI-Elementes ermitteln. */
JComboBox locJComboBox =
(JComboBox)
e.getSource();
strEventSourceName =
locJComboBox.getName();
}
/*
* Muster-Code zum Prüfen des auslösenden
GUI-Elementes ob deren Status
verändert
wurde. */
if
(strEventSourceName.compareTo(
frmTF
.get_combo_LanguageCodeForLabelling().getName())
==
0) {
/*
* Prüfen ob dieses GUI-Element ausgewählt
('selektiert') wurde.
* Bei einer Änderung eines
Status wird diese Methode auch dann aufgerufen, wenn die
*
Auswahlmöglichkeit eines GUI-Elements 'verlassen' (de-selected)
wird - in diesem Fall
* soll der Code nicht ausgeführt
werden. */
if
(e.getStateChange()
== ItemEvent.
SELECTED
)
{
/*
----------------------------------------------------------------------------------
*/
/*
* Korrekturmassnahme
wenn dieses GUI-Element in der Methode 'copy' des ActionHandlers als
Feld
* mit Schlüsselwert markiert wurde:
Wiederherstellen von Standard-Farbe, -Font und
-Schriftgrösse.
* Wenn dieses GUI-Element nicht
Teil des Anwender-bekannten Schlüssels ist kann dieser
Code
* weg gelassen werden.
*/
JSBS_GUIServices.setDefinedForegroundColor(frmTF
.get_combo_LanguageCodeForLabelling(),
frmTF
);
/*
* Eingabe
im GUI-Feld auf Gültigkeit prüfen. Dazu wird die Methode
zum Auslesen des Wertes
* verwendet. In der
verwendeten Methode wird auch der Hintergrund des GUI-Elements
eingefärbt. */
bol_combo_LanguageCodeForLabelling_OK
=
(
JSBS_GUIServices.getSelectedTextFromJComboBox(frmTF
.get_combo_LanguageCodeForLabelling())
!= null
);
/* Wenn
der eingegebene Wert die Prüf-Regeln bestanden hat dann wird der
Wert auf das
* zugehörige Attribut des BO
übertragen.
* Dazu wird die Methode
'getFromGUI(...) der jeweiligen BOC-Klasse verwendet. */
if
(
bol_combo_LanguageCodeForLabelling_OK
)
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
frmTF
.get_combo_LanguageCodeForLabelling(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
/*
----------------------------------------------------------------------------------
*/
/*
* ALTERNATIV oder zusätzlich zum Übertragen eines
Wertes auf das BO kann es auch erforderlich
* sein, eine
Methode auszuführen.
* Bei der Auswahl einer
Bezeichnungssprache müssen Eingabefelder gesperrt / geöffnet
werden. */
application
_Currency__ActionHandler.processSelectedLanguageCodeForLabelling(
frmTF
);
/*
----------------------------------------------------------------------------------
*/
}
}
/*
* Muster-Code zum Prüfen des auslösenden
GUI-Elementes ob deren Status
verändert
wurde. */
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker01().getName())
==
0) {
/*
* Bei einer Checkbox wird der Wert des Attributes verändert
wenn die Checkbox
* selektiert UND auch wenn sie
de-selektiert wird. */
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
frmTF
.get_chk_Marker01(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker02().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker02(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker03().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker03(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker04().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker04(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker05().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker05(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker06().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker06(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker07().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker07(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker08().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker08(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker09().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker09(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker10().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker10(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker11().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker11(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker12().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker12(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker13().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker13(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker14().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker14(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker15().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker15(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker16().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker16(),
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker17().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker17(),
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker18().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker18(),
null
,
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker19().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker19(),
null
,
null
,
null
,
null
,
null
);
}
/*
*
----------------------------------------------------------------------------------
*/
if
(strEventSourceName.compareTo(
frmTF
.get_chk_Marker20().getName())
==
0) {
frmTF
.
struct
application_
Currency_BOC_Processed
.getFromGUI(
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
frmTF
.get_chk_Marker20(),
null
,
null
,
null
,
null
);
}
/*
* Muster-Code zum Prüfen des auslösenden
GUI-Elementes ob deren Status
verändert
wurde. */
if
(strEventSourceName.compareTo(
frmTF
.get_combo_SelectCurrency().getName())
==
0) {
/*
* Prüfen ob dieses GUI-Element ausgewählt
('selektiert') wurde.
* Bei einer Änderung eines
Status wird diese Methode auch dann aufgerufen, wenn die
*
Auswahlmöglichkeit eines GUI-Elements 'verlassen' (de-selected)
wird - in diesem Fall
* soll der Code nicht ausgeführt
werden. */
if
(e.getStateChange()
== ItemEvent.
SELECTED
)
{
application
_Currency__ActionHandler.getSelectionCriteria(
frmTF
);
application
_Currency__ActionHandler.redisplayBOList(
frmTF
);
/*
----------------------------------------------------------------------------------
*/
}
}
/*
* Prüfen
und Aktivieren / Deaktivieren von Schaltflächen (JButtons).
*/
setButtonStatus();
}
/*
* METHODE, die alle Flags (boolsche Variablen die
signalisieren, ob die Eingabe im zugehörigen
* GUI-Element
die Eingabe-Regel erfüllt) zu einer boolschen Variable
zusammenfaßt.
* Die dafür verwendete
Variable ist in der geerbten Klasse definiert. */
private
void
checkEntriesOK()
{
/*
Boolsche Operation die prüft, ob alle Eingaben den
Eingabe-Regeln entsprechen. */
bolCompleteEntryOK
=
bol_txt_ISOCurrencyCode_OK
&&
bol_txt_CurrencyName_OK
&&
bol_combo_LanguageCodeForLabelling_OK
;
/*
* Spezieller Code um das Prüfen der Gültigkeit der Umrechnungskurse nur dann durchzuführen
* wenn der Datensatz der Standard-Datensatz für die Währung ist. */
if
(
frmTF
.
structapplication_Currency_BOC_Processed
.
LanguageCodeForLabelling
.length() <= 0)
bolCompleteEntryOK
=
bolCompleteEntryOK
&&
bol_txt_MiddleRateToLeadCurrency_OK
&&
bol_txt_BuyingRateToLeadCurrency_OK
&&
bol_txt_SellingRateToLeadCurrency_OK
;
}
/*
* Methode, die prüft ob die Schaltfläche
'btn_Store' (Speichern) zu aktivieren oder zu
* deaktivieren
ist. */
private
void
setButtonStatus_Store()
{
/*
Zuerst die Methode aufrufen, die alle OK-Flags in eine Variable
zusammenfaßt. */
checkEntriesOK();
/*
*
Bei der Version 'MobileClient' ist keine spezielle Prüfung
notwendig.
* Grund dafür ist, dass bereits in der
Methode 'setFieldsForUpdate(...)' die Felder für
* die
Eingabe gesperrt werden können.
* Wenn alle Felder
gesperrt sind ist auch keine Veränderung des Datensatzes möglich
und
* damit wird auch die Schaltfläche 'store' nicht
aktiv. */
/*
* Boolsche Operation innerhalb der
'setEnabled'-Methode des JButton:
* Es müssen alle
Eingaben (in den GUI-Elementen) der jeweiligen Eingabe-Regel
entsprechen
* (geprüft über
'bolCompleteEntryOK')
* und
* mindestens
eine Variable des BO muß verändert worden sein
* (geprüft
durch den Vergleich des BO nach dem Lesen von / Speichern auf der
Datenbank oder
* nach dem 'Kopieren' mit dem BO, dass
die aktuellen Eingaben in den GUI-Elementen enthält).
*/
frmTF
.get_btn_Store().setEnabled(
bolCompleteEntryOK
&&
(frmTF
.
struct
application_
Currency_BOC_Read
.isDifferent(
frmTF
.
struct
application_
Currency_BOC_Processed
)));
}
/*
* Methode, die prüft ob die Schaltfläche
'btn_Copy' (Kopieren) zu aktivieren oder zu
* deaktivieren
ist. */
private
void
setButtonStatus_Copy()
{
/*
Zuerst die Methode aufrufen, die alle OK-Flags in eine Variable
zusammenfaßt. */
checkEntriesOK();
/*
*
Bei der Version 'MobileClient' muss abgefragt werden, ob ein 'Copy'
und damit ein 'Insert'
* eines neuen Datensatzes ausgeführt
werden darf wenn die Verbindung zum JAS (Java Application Server)
*
unterbrochen ist.
* Die Variable
'bolAllowInsertWithMobileClientOffline' ist in der Basisklasse
'JSBS_TaskFrame'
* definiert und der Wert wird in der
Klasse für die GUI (Task-Frame) für dieses Teilprogramm
festgelegt.
* Mit dem folgenden Code wird gesteuert, ob die
Schaltfläche bei einer Unterbrechung der Verbindung
*
zum JAS aktiviert bleibt oder deaktiviert ist. */
boolean
bolAllowCopy
=
true
;
if
(
(
frmTF
.
frmCC
.
RunVersion
==
JSBS_StartFrame.
CONST_MobileClient
)
&&
(!
frmTF
.
frmCC
.
bolJASConnectionEstablished
))
{
bolAllowCopy
=
frmTF
.
bolAllowInsertWithMobileClientOffline
;
}
/*
* Boolsche Operation innerhalb der
'setEnabled'-Methode des JButton:
* Es müssen alle
Eingaben (in den GUI-Elementen) der jeweiligen Eingabe-Regel
entsprechen
* (geprüft über
'bolCompleteEntryOK')
* und
* es
darf keine Variable des BO seit dem letzen Lesen von / schreiben auf
die Datenbank
* verändert worden sein
* (geprüft
durch den Vergleich des BO nach dem Lesen von / Speichern auf der
Datenbank oder
* nach dem 'Kopieren' mit dem BO, dass
die aktuellen Eingaben in den GUI-Elementen enthält).
*/
frmTF
.get_btn_Copy().setEnabled(
bolCompleteEntryOK
&&
bolAllowCopy &&
!
(frmTF
.
struct
application_
Currency_BOC_Read
.isDifferent(
frmTF
.
struct
application_
Currency_BOC_Processed
)));
}
/*
* Methode, die alle Methoden, die einzelne
Schaltflächen (JButtons) aktivieren bzw.
* deaktivieren,
aufruft. */
public
void
setButtonStatus()
{
/* Button-Status
für die Schaltflächen zur Auswahl oder zum Löschen
eines BO (Datensatzes)
* setzen. Diese Methode ist in
der geerbten Basis-Klasse implementiert.
*/
super
.setButtonStatus_Selection();
/* Methoden
dieser Klasse aufrufen. */
setButtonStatus_Store();
setButtonStatus_Copy();
}
}
Anleitung
zur Adaptierung in allen Klassen
Am leichtesten
funktioniert die Anpassung des Muster-Codes an die eigenen
Erfordernisse durch Kopieren des Muster-Codes und Verwendung von
Edit
> Find/Replace...
.
|
|
Für diesen
Muster-Code gibt es keine Möglichkeit, gleichartige Änderungen
durch 'Replace' vorzunehmen.
Die 'Find'-Funktion ist aber
hilfreich zum Finden der beschriebenen 'Platzhalter'.
Änderung
des Namens des Java-Packages
package
application_package
.client;
/*
D
er
Name
application_package
kommt
mehrmals in den drei Klassen vor.
Suchen Sie nach diesem Begriff
und ersetzen Sie ihn durch Ihren gewählten Namen für das
Package.
Änderung
des Namens der Klassen
In der Klasse für das Frame:
*/
public class
application_
Currency
extends
JSBS_TaskFrame {
/*
In der Klasse für den 'ActionHandler':
*/
public class
application_
Currency__ActionHandler
{
/*
In der Klasse für den 'DocumentListener':
*/
public class
application_
Currency__DocumentListener
extends
JSBS_TaskFrame__DocumentListener
{
/*
Dieser Name muß mit dem Namen
der Klasse übereinstimmen, der beim Eröffnen der Klasse gewählt wurde.
Durch das Ersetzen des Platzhalters
application_
Currency
durch den Namen der Klasse für
das Frame (z.B.
JSProjAssist_Currency
) kann
in allen drei Klassen der jeweils richtige Namen eingesetzt werden.
Durch die gewählte Namens-Konvention in den Muster-Codes werden dadurch
auch die Referenzen auf verbundene Klassen richtig gestellt.
Erfreulicher Nebeneffekt dieses 'Find/Replace' ist, dass auch die
Variablen für die BO (Business Objects) angepasst werden.
Adaptieren
der Kommentare
'Kein Kommentar
ist besser als ein falscher'
.
Im Muster-Code
ist der Zweck der jeweiligen Klassen bereits beschrieben
.
Als
Ergänzung fehlen noch der Name des/der Authors/Authorin und das
Datum der Erstellung.
Anleitung
zur Adaptierung in der Klasse für das Frame (GUI)
In den folgenden
Abschnitten sind jene Adaptierungen beschrieben, die nur in der
Klasse für das Frame zur Anzeige der GUI-Elemente vorgenommen
werden müssen.
Änderung
des Namens der Klasse des CommandCenters
public
class
application_
Currency
extends
JSBS_TaskFrame
{
/*
* Variable für die Referenz auf die Klasse des
Start-Frame (CommandCenter). */
protected
application
_CommandCenter
frmCC
;
/*
* Zugehöriges DocumentListener Objekt definieren.
*/
D
er
Name dieser Klasse kommt zwei mal im Muster-Code vor.
Wenn Sie
'Find/Replace' zum Ersetzen verwenden, geben Sie bitte den Text
application
_CommandCenter
als
Suchbegriff ein; damit wird nur der Name dieser Klasse ersetzt und
nicht auch Teile anderer 'Platzhalter' die
application
enthalten.
Einsetzen des
internen Codes für den Aufruf des Task-Frames
Über den
internen Aufruf-Code wird innerhalb der CommandCenter-Klasse
(Start-Frame) das entsprechende Task-Frame aufgerufen.
Das
Definieren in der Datei 'Tasks.xml' und die Abfrage innerhalb der
CommandCenter-Klasse sind unter Leitfaden
für die Entwicklung von Heavyweight-Clients mit dem JS-FCF –
Alle Schritte zur Entwicklung des Task-Frames > Task-Frame im
'CommandCenter' aufrufen
beschrieben.
Das Einsetzen
des internen Aufruf-Codes im folgenden Teil des Muster-Codes ist
notwendig um in der Liste des CommandCenter-Fensters den angezeigten
Aufruf-Code anzeigen zu können.
Wenn Sie jetzt noch keinen
internen Aufruf-Code für das Task-Frame festgelegt haben, dann
vergessen Sie bitte nicht, die folgende Adaptierung später
auszuführen.
/*
* Methode
mit den Initialisierungen die notwendig sind nachdem das Frame
(Window)
* angezeigt wird. */
private
void
initialize_after_frame()
{
/* Methode
zum Zuordnen des sprachabhängigen Textes zu den GUI-Elementen
aufrufen. */
.
. . . .
. . . . .
/*
* Eintragen
dieses Tasks in die Tabelle beim CommandCenter.
* Der
von der aufgerufenen Methode zurückgelieferte ID wird
verwendet
* wenn die angezeigten Daten verändert werden
sollen.
* Das Verändern der angezeigten Daten ist
sinnvoll, wenn der Anwender einen
* Datensatz aus der
Liste auswählt (Methode 'getForUpdate(..)' in der
Klasse
* xxx__ActionHandler.
* Der 2.
Parameter beim Aufruf der Methode ist der interne Code dieser
Klasse
* in der Datei 'Tasks.xml'.
* Der
3. Parameter ist eine Kurzfassung der angezeigten Daten;
* diese
Daten sind jetzt noch nicht vorhanden. */
dblCC_TaskID
=
frmCC
.addOpenTaskFrame(
this
,
"
internal_Selection_Code
"
,
""
);
/*
* Methode,
die nach der 'Construction' der Klasse ausgeführt werden soll,
aufrufen.
.
. . . .
. . . . .
Für das
Aufrufen des Teilprogramms ist es notwendig, einen Eintrag in der
Datei 'Tasks.xml' vorzunehmen.
Tätigkeiten
ausserhalb des Codierens > Einträge in 'Tasks.xml'
Ein Muster für einen
solchen Eintrag finden Sie im Abschnitt
in diesem
Dokument.
Entfernen der
nicht benötigten 'Marker' aus dem
pnl_DetailFields
Die 'Marker'
sind dafür vorgesehen, dass die Verwendung einer Währung für
verschiedenene Themenbereiche erlaubt oder eingeschränkt werden
kann.
Zum
Beispiel kann bei einem Anwendungsprogramm für ein
Warenwirtschaftssystem festgelegt werden, dass Produkte nur in der
Leitwährung bepreist werden dürfen währen auf Dokumenten an Kunden alle
Währungen erlaubt sind.
Abhängig
vom zu entwickelnden Anwendungsprogramm werden wahrscheinlich nur
eine geringere Zahl als die 20 vorgesehenen 'Marker' benötigt
werden.
Im
folgenden Beispiel wird angenommen, dass nur 4 Marker benötigt
werden - deswegen wird die Platzierungsanweisung für die Marker
05 bis 20 gelöscht.
/*
* Platzieren
des nächsten GUI-Elements. */
GridBagConstraints
gbc_chk_Marker05
=
new
GridBagConstraints();
/* Definition
der Platzierungs-Eigenschaften. */
gbc_chk_Marker05.
gridx
=
0;
gbc_chk_Marker05.
gridy
=
6;
gbc_chk_Marker05.
weightx
=
1;
gbc_chk_Marker05.
fill
=
GridBagConstraints.
HORIZONTAL
;
gbc_chk_Marker05.
anchor
=
GridBagConstraints.
LINE_END
;
gbc_chk_Marker05.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker05(),
gbc_chk_Marker05);
/*
* Platzieren
des nächsten GUI-Elements. */
.
. . . . .
.
. . . . .
gbc_chk_Marker20.
insets
=
new
Insets(3,
3, 3, 3);
/* Platzieren
des GUI-Elements auf dem JPanel.
*/
get_pnl_DetailFields().add(get_chk_Marker20(),
gbc_chk_Marker20);
Beachten
Sie bitte, dass Sie nicht weiter als bis zum markierten Bereich
löschen.
Anleitung zur
Adaptierung bei Verwendung von Währungen in der Klasse für
die GUI
Adaptieren in
der Methode
initialize_frame
In
dieser Methode wird für das 'ContentPane' das bereits in der
geerbten Basisklasse enthaltene
pnl_Main_With_Currency_Selection
verwendet.
Dazu
wird im Muster-Code die entsprechende Zeile auskommentiert –
und die davor stehende Zeile gelöscht oder unter 'Kommentar'
gesetzt:
/*
* METHODE
mit der das Frame (Window) angezeigt wird. */
.
. . . .
* (JSBS_StartFrame)
festgelegt. */
//
setContentPane(get_pnl_Main());
/*
* Wenn
in Ihrer Anwendung die Auswahl von Währungen möglich sein
soll,
* dann kommentieren Sie bitte die folgende Zeile
aus und setzen die
* Zeile oberhalb unter Kommentar.
*/
//
setContentPane(get_pnl_Main_With_Currency_Selection());
.
. . . .
. . . . .
Adaptieren in
der Methode
initialize_after_frame
In
dieser Methode sind zwei Änderungen notwendig:
Für das Einfärben der Ränder muss ebenfalls - das in der
geerbten Basisklasse enthaltene -
pnl_Main_With_Currency_Selection
in das Array mit den
einzufärbenden GUI-Elementen aufgenommen werden:
/*
* Border (Ränder der GUI-Elemente) einfärben damit sie
besser sichtbar sind. */
/* Zuerst
jenes Elemente vom Typ JPanel festlegen, das eingefärbt werden soll. */
arrayJPanelBordersToBeColored
=
new
JPanel[1];
arrayJPanelBordersToBeColored
[0] = get_pnl_Main();
/*
* Wenn in Ihrer Anwendung die Auswahl von Währungen möglich
sein soll,
* dann kommentieren Sie bitte die folgende Zeile aus und
setzen die
* Zeile oberhalb unter Kommentar. */
//
arrayJPanelBordersToBeColored
[0] = get_pnl_Main_With_Currency_Selection();
/* Methode
aufrufen mit der die 'Border' eingefärbt werden. */
JSBS_GUIServices.processBorders(this
);
Die Combobox für die Auswahl der Währung muss mit den
festgelegten Währungen gefüllt werden und die im StartFrame
(CommandCenter) bereits gewählte Währung muss übernommen werden:
* Eine nähere Beschreibung ist im Kommentar zu dieser
Methode. */
application_
Currency__ActionHandler.processAfterConstruction(
this
);
/*
* Methode aufrufen, die die Combobox für die Auswahl der
Währung füllt.
* Anschließend die gewählte Währung aus dem StartFrame
(CommandCenter)
* übernehmen.
* Wenn in Ihrer Anwendung die Auswahl von Währungen möglich
sein soll,
* dann kommentieren Sie bitte die folgenden Zeile aus . */
//
frmCC
.fillComboBoxWithCurrencies(get_combo_CurrencySelection());
//
JSBS_GUIServices.setJComboBoxItem(get_combo_CurrencySelection(),
//
frmCC
.
structJSBS_UniversalParameters
.
strPreferredCurrency
,
//
frmCC
.
structJSBS_UniversalParameters
,
true
);
}
Anleitung zur
Adaptierung in der Klasse für den ActionHandler
In den folgenden
Abschnitten sind jene Adaptierungen beschrieben, die nur in der
Klasse für den ActionHandler durchzuführen sind.
Verarbeiten
eventuell im CommandCenter eingegebener Parameter - Methode
processCCParameters(...)
In dieser
Methode werden Verarbeitungen codiert die durch bereits im
CommandCenter (Start-Frame) eingegebene Werte gesteuert werden.
Im
Muster-Code ist ein Algorithmus implementiert, der im Parameter-Wert
1 des ISO-Codes der Währung und im Parameter-Wert 2 den ISO-Code der
Sprache für die Bezeichnung der Währung erwartet.
Wenn Sie einen
anderen Algorithmus verwenden wollen finden Sie eine Sammlung von
Beispielen für die verschiedensten Anwendungsfälle im
Dokument
Muster-Code
für die Klassen eines Task-Frame > Spezieller Muster-Code >
Übernehmen von Werten aus den Parameter-Feldern des
CommandCenter
.
Adaptieren der
Methode
processDeactivate(...)
In dieser
Methode ist der Code für jeden möglichen Hinderungsgrund
(des Deaktivierens) zu Adaptieren.
Die Hinderungsgründe
wurden unter Muster-Code
für die BO-Klassen zur Implementierung der Währung
(JSBS_Currency_BOx) > Anleitung zur Adaptierung der Interface mit
den Status-Codes
definiert.
Folgende Adaptierungen sind
erforderlich:
Der fett geschriebene Teil des Muster-Codes muss für jeden
möglichen Hinderungsgrund kopiert werden.
CONST_DEACTIVATE_INHIBIT_REASON_
Reason
muss entsprechend der
Definitionen in der 'Interface' angepasst werden.
Der Platzhalter
"processDeactivate_
DependantRecord_XXX
"
beim Aufruf des Fenster für
Fehler und Warnungen muss für jeden Hinderungsgrund eindeutig definiert
werden.
/*
* Methode
zum 'Deaktivieren' eines Business-Objects aus der angezeigten
Liste.
* 'Deaktivieren' heisst, dass die Gültigkeit des
BO beendet wird - der Datensatz
* aber noch auf der
Datenbank-Tabelle bleibt
* (Teil der GUI mit den
GUI-Elementen für die Eingabe von Werten) der
GUI. */
protected
static void
processDeactivate(
application
_Currency
parmTF)
{
/*
* Nummer
aus dem Auswahl-Feld der GUI auslesen.
.
. . . .
.
. . . .
* Prüfen
ob die Datenbank-Operation fehlerfrei war; dazu den Status-Code des
* BOC abfragen.
*/
switch
(struct
application_
Currency_BOC.
StatusCode
)
{
case
JSBS_BO.
CONST_OK
.
. . . .
.
. . . .
/*
* ***********
* Das folgende case-Statement ist für jeden
Hinderungsgrund für das Deaktivieren
* (weil noch
mindestens ein Datensatz, der den zu deaktivierenden Datensatz
als
* Fremdschlüssel hat, existiert) zu kopieren
und zu adaptieren.*/
case
application_
Currency_BOC.
CONST_DEACTIVATE_INHIBIT_REASON_
Reason
:
/* Das
BO ist Fremdschlüssel eines anderen BO und darf nicht
deaktiviert werden.
* Wenn
die Abfrage entsprechend dem Muster implementiert wurde, dann ist
der
* Anwender-bekannte Schlüssel des
referenzierenden BO in der Variable 'StatusMsg'. */
parmTF.handleErrorEvent(
CONST_ClassName
,
"processDeactivate_
DependantRecord_XXX
"
,
struct
application_
Currency_BOC
.
StatusMsg
);
/* Verarbeitung
innerhalb dieses 'case' mit 'break' beenden. */
break
;
/* Ende
des zu kopierenden und adaptierenden Codes.
* ***********
* */
case
JSBS_BO.
CONST_CHANGED_INBETWEEN
:
/* In
der Liste angezeigtes BO wurde in der Zwischenzeit von einem anderen
Anwender
.
. . . .
.
. . . .
Anleitung zur
Adaptierung in der Klasse für den DocumentListener
Alle in der
Klasse für den DocumentListener notwendigen Adaptierungen wurden
bereits mit den Arbeiten im Abschnitt
Anleitung
zur Adaptierung in allen Klassen
ausgeführt.
Tätigkeiten
ausserhalb des Codierens
Einträge
in 'Tasks.xml'
Damit das
Teilprogramm aufgerufen werden kann, muss die Datei 'Tasks.xml' um
die entsprechenden Einträge ergänzt werden.
Eine
ausführliche Anleitung finden Sie im Dokument Leitfaden
für die Entwicklung von Heavyweight-Clients mit dem JS-FCF –
Alle Schritte zur Entwicklung des Task-Frames > Task-Frame im
'CommandCenter' aufrufen
.
Wenn
Sie bereits mit dem System der XML-Elemente in der Datei 'Tasks.xml'
vertraut sind, können Sie das folgende Muster kopieren und
Adaptieren.
Das Muster enthält die Einstellung, dass im
Start-Frame (CommandCenter) bereits der ISO-Codes der Währung und der
ISO-Code für die Bezeichnungssprache als Werte für die
Selektion eines Datensatzes erfasst werden können.
<Task>
<DisplayedCode>EW
</DisplayedCode>
<InternalCode>EW
</InternalCode>
<Description>Erlaubte
Währungen verwalten
</Description>
<Parameter1Label>ISO-Code
der Währung
</Parameter1Label>
<Parameter1ToolTipText>ISO-Währungs-Code
für die Weitergabe an das zu startende
Teilprogramm
</Parameter1ToolTipText>
<Parameter1InfoMessage>
ISO-Währungs-Code
für die Weitergabe an das zu startende
Teilprogramm
</Parameter1InfoMessage>
<Parameter1CommonElementForVerification>
txt_ISOCurrencyCode
</Parameter1CommonElementForVerification>
<Parameter2Label>
ISO-Code
für die
Bezeichnungssprache
</Parameter2Label>
<Parameter2ToolTipText>ISO-Sprach-Code
für die Anzeige des Währungsnamens im zu startenden
Teilprogramm
</Parameter2ToolTipText>
<Parameter2InfoMessage>
ISO-Sprach-Code
für die Anzeige
des Währungsnamens
im zu startenden
Teilprogramm
</Parameter2InfoMessage>
<Parameter2CommonElementForVerification>
txt_ISOLanguageCode
</Parameter2CommonElementForVerification>
</Task>
Allgemein und
individuell verwendbare Text-Elemente erfassen
Eine Anleitung
für das Erfassen der im Muster-Code möglichen Warnungs- und
Fehler-Meldungen finden Sie im Dokument
Leitfaden
für die Entwicklung von Heavyweight-Clients mit dem JS-FCF –
Alle Schritte zur Entwicklung des Task-Frames > Sprachabhängigen
Text für die GUI-Elemente erfassen
-
dort ist auch ein Verweis auf das Dokument mit den Vorschlägen für die Bezeichnung der Schaltflächen (Buttons) enthalten
.
In der folgenden
Tabelle finden Sie alle verwendeten symbolischen Namen für die
individuellen GUI-Elemente und Text-Vorschläge für den
angezeigten Text
interner Name innerhalb des Anwendungsprogramms |
sichtbarer Text oder |
Text für 'Tooltip' und Informationszeile am unteren Rand des Fensters |
Prüfregeln |
lbl_ApplicationTitle1 |
Referenz: lbl_ApplicationTitle1 |
Festgelegt durch Referenz |
|
lbl_ApplicationTitle2 |
Erlaubte Währungen verwalten |
keiner |
|
lbl_ISOCurrencyCode |
Referenz: lbl_ISOCurrencyCode |
Festgelegt durch Referenz |
|
txt_ISOCurrencyCode |
Referenz: txt_ISOCurrencyCode |
Festgelegt durch Referenz |
Festgelegt durch Referenz |
lbl_LeadCurrency |
(Leitwährung !) |
Referenzwährung für den Umrechnungskurs anderer Währungen. |
|
lbl_LanguageCodeForLabelling |
Referenz: lbl_LanguageCodeForLabelling |
Festgelegt durch Referenz |
|
combo_LanguageCodeForLabelling |
Referenz: txt_LanguageCodeForLabelling |
Festgelegt durch Referenz |
Festgelegt durch Referenz |
lbl_CurrencyName |
Bezeichnung der Währung: |
Bezeichnung der Währung in der gewählten Sprache. |
|
txt_CurrencyName |
|
Bezeichnung der Währung in der gewählten Sprache. |
Abhängig von der Verwendung der Währung in dem zu entwickelnden Anwendungsprogramm. 'Erforderliche Eingabe'; mindestens 3 Zeichen. |
lbl_MiddleRateToLeadCurrency |
Mittlerer Umrechnungskurs zur Leitwährung: |
Innerhalb des Anwendungsprogramms verwendeter Umrechnungskurs zur Leitwährung. |
|
txt_MiddleRateToLeadCurrency |
|
Innerhalb des Anwendungsprogramms verwendeter Umrechnungskurs zur Leitwährung. |
Abhängig von der Verwendung der Währung in dem zu entwickelnden Anwendungsprogramm. |
lbl_BuyingRateToLeadCurrency |
Kaufkurs zur Leitwährung: |
Kurs für den Kauf einer Einheit der Leitwährung - nur zur Information. |
|
txt_BuyingRateToLeadCurrency |
|
Kurs für den Kauf einer Einheit der Leitwährung - nur zur Information. |
Abhängig von der Verwendung der Währung in dem zu entwickelnden Anwendungsprogramm. |
lbl_SellingRateToLeadCurrency |
Verkaufskurs zur Leitwährung: |
Kurs für den Verkauf einer Einheit der Leitwährung - nur zur Information. |
|
txt_SellingRateToLeadCurrency |
|
Kurs für den Verkauf einer Einheit der Leitwährung - nur zur Information. |
Abhängig von der Verwendung der Währung in dem zu entwickelnden Anwendungsprogramm.
|
lbl_MarkerHeadline |
Gültigkeiten der Währung für folgende Bereiche: |
keiner |
|
chk_Markerxx |
Individueller Text entsprechend der Gültigkeit des Markers |
Individueller Text entsprechend der Gültigkeit des Markers |
|
lbl_SelectCurrency |
Einschränkung der Auswahl auf eine Währung: |
Währung auswählen dessen Datensätze zur Auswahl gelistet werden sollen. |
|
combo_SelectCurrency |
|
Währung auswählen dessen Datensätze zur Auswahl gelistet werden sollen. |
|
lbl_SelectionListHeader |
Referenz: lbl_SelectionListHeader |
Festgelegt durch Referenz |
|
lbl_Selection |
Referenz: lbl_Selection |
Festgelegt durch Referenz |
|
txt_Selection |
Referenz: txt_Selection |
Festgelegt durch Referenz |
Festgelegt durch Referenz |
Für die
Überschriften der Liste für die Auswahl (interner Name
pnl_SelectionListTable
)
sind folgende sichtbare Bezeichnungen zu den internen Namen
(definiert in der Klasse
JSBS_Currency_BOC_Set
)
vorgeschlagen:
interner Name innerhalb der BOC-Klasse |
vorgeschlagener Text für die Überschrift der Tabellenspalte |
Anmerkungen |
Row-Number |
Auswahl |
Dieser Wert enthält die Nummer der Tabellenzeile; damit wird die Auswahl durch Eingabe der Nummer im Eingabefeld (interner Name txt_Selection) ermöglicht. |
ISOCurrencyCode |
ISO-Währungs-Code |
|
LanguageCodeForLabelling |
Bezeichnungs-Sprache |
Dieser Wert ist noch einmal in LanguageCodeForLabellingAndCurrencyName enthalten. |
CurrencyName |
Bezeichnung
der Währung |
Dieser Wert ist noch einmal in LanguageCodeForLabellingAndCurrencyName enthalten. |
LanguageCodeForLabellingAndCurrencyName |
Bezeichnung der Währung |
Dieser Wert ist
eine Zusammenfassung beider Werte in einer Spalte: |
Texte für
Fehler- und Warnungs-Meldungen erfassen
Eine Anleitung
für das Erfassen der im Muster-Code möglichen Warnungs- und
Fehler-Meldungen finden Sie im Dokument
Leitfaden
für die Entwicklung von Heavyweight-Clients mit dem JS-FCF –
Alle Schritte zur Entwicklung des Task-Frames > Warnungs- und
Fehlermeldungen erfassen
.
Zusätzlich sind
noch Fehler-Meldungen notwendig, die den Anwender darauf hinweisen,
dass
* eine zusätzliche Bezeichnung (in anderer Sprache) für eine Währung
erst erfasst werden kann, nachdem der Standard-Datensatz für die Währung angelegt wurde;
* ein Standard-Datensatz für eine Währung nicht gelöscht werden kann
solange noch eine zusätzliche Bezeichnung (in anderer Sprache)
exisitert und
* die Leitwährung nicht gelöscht werden darf:
Herkunfts-Klasse |
Herkunfts-Code |
Standard-Herkunfts-'Klasse' |
Standard-Herkunfts-Code |
Verarbeitung |
application_Currency__ActionHandler |
store_NoDefaultDataSet |
JS_FCF_Standard |
NoDefaultSetForISOCurrencyCode |
Warnung |
application_Currency__ActionHandler |
processDeactivate_AdditionalLanguageLabelling |
JS_FCF_Standard |
CurrencyAdditionalLanguageLabelling |
Warnung |
application_Currency__ActionHandler |
processDeactivate_LeadingCurrency |
JS_FCF_Standard |
LeadingCurrency |
Warnung |
Individuell für
Ihr Anwendungsprogramm sind noch die Warnungs-Meldungen, wenn eine
bestimmte Währung nicht deaktiviert werden darf (weil es in einem
anderen Business Object noch referenziert wird), zu erfassen.
Die
für Ihr Anwendungsprogramm zutreffenden Fälle wurden
innerhalb der Methode processDeactivate(...)
codiert (beschrieben im Abschnitt
Adaptieren
der Methode processDeactivate(...)
dieses
Dokuments.
Dokument |
Inhalt |
In diesem Leitfaden werden alle Tätigkeiten für die Entwicklung eines Task-Frames (Teilprogramm für die Abwicklung eines Geschäftsfalls) gelistet – auch jene die nicht direkt das Codieren in Java umfassen. |