> Inhalt: JavaScout-Fat-Client-Framework (JS-FCF) 

Tutorial: Programmierung mit dem JS-FCF 

Tutorial:
JavaScout ProjectAssist, Start-Frame Grundlagen (Java_Fatclient_01) –
Text für die GUI-Elemente von XML-Datei einlesen

* Bitte beachten Sie die Hinweise und Bestimmungen bezüglich Urheberrecht, Haftungsausschluß und geschützte Marken oder Warenzeichen die für dieses Web-Dokument und möglicherweise auch für 'verlinkte' Dokumente gelten.

  • Der Betreiber dieser Web-Site (www.javascout.biz) ist nicht verantwortlich für den Inhalt von Web-Sites, die innerhalb dieses Web-Dokumentes oder anderer Dokumente von www.javascout.biz verlinkt sind.

  • Wenn dieses Web-Dokument oder andere Dokumente dieser Web-Site (www.javascout.biz) Rechte von Ihnen verletzen, oder sie glauben, daß Rechte Anderer (Dritter Personen) dadurch verletzt werden, informieren Sie bitte den Betreiber dieser Web-Site.
    Eine E-Mail können Sie ganz einfach durch anklicken des Symbols oder Textes im Frame rechts oben senden.

Dieses Dokument drucken.

 Letzte Bearbeitung dieses  Dokuments:
2008-03-08



Voraussetzungen für das Verständnis dieses Dokuments:

Grundkenntnisse in der Programmierung von Java (Klassen, Methoden, Schleifen) oder anderer Objekt-Orientierter Programmiersprachen (z.B. C++, Modula-2, Pascal).

Tutorial Datenbank-Ladeprogramm mit Graphischer Benutzeroberfläche (Java_Intro_02) durchgearbeitet.

Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:

Arbeitszeit:
Ca. 20 bis 60 Minuten; abhängig von der bei den vorigen Beispielen erworbenen Routine
.

Dieses Dokument enthält einen Teil der Anleitung für die Entwicklung der Graphischen Benutzeroberfläche (GUI) für das StartFrame (CommandCenter).
In diesem Schritt werden die GUI-Elemente mit sprachabhängigen Texten versehen.
Dazu wird wieder die Bibliothek mit den Basisklassen benutzt.

Inhaltsverzeichnis:

Voriger Schritt: Klasse für das StartFrame eröffnen 

Vorbemerkung 
Vorbedingungen 
Verweis auf Theorie 
Zusätzlicher Code 
* Import der Bibliothek
js_base.xml.* 
* XML-Struktur für sprachabhängige Texte konstruieren
 
* GUI-Elemente mit sprachabhängigen Texten versehen
 
Verzeichnis und Datei mit der XML-Struktur mit den sprachabhängigen Texten erstellen 
Test 
Gesamter Code am Ende des Schrittes 
Weitere Schritte und verwandte Dokumentation 

Nächster Schritt: Weitere XML-Strukturen einlesen 

Vorbemerkung

Obwohl Eclipse in 'deutscher Version' installiert werden kann, sind die Abbildungen in diesem Dokument mit der 'english Version' erstellt.
Grund ist, daß zum Zeitpunkt der Erstellung dieses Dokumentes (Oktober 2007) die Eclipse-Texte nur sehr unvollständig ins Deutsche übersetzt sind.
Damit ist (meiner Meinung nach)
1.) Eclipse in deutscher Version wesentlich schwerer verständlich als in englischer Version und
2.) wenn Eclipse weiter übersetzt wird, ist dieses Dokument stark abweichend von den dann vorhandenen deutschen Texten.



zum Inhaltsverzeichnis

Vorbedingungen:

zum Inhaltsverzeichnis

Verweis auf Theorie:

zum Inhaltsverzeichnis

Zusätzlicher Code

Der zusätzliche Code in diesem Schritt beschränkt sich auf wenige Zeilen.
Grund für den bescheidenen Zuwachs an zu sschreibendem Code ist, daß
die meiste Arbeit in der Erstellung der Datei mit der XML-Struktur mit den sprachabhängigen Texten ist
und
das Einlesen der Datei und das Zuordnen dieser Texte zu den GUI-Elementen mit Methoden der Basisklassen durchgeführt wird.

Import der Bibliothek js_base.xml

package js_projassist.client;
/*
 * Package mit der Basisklasse für das StartFrame. */

import js_base.frame.*;
/*
 * Package mit der Basisklasse für die Struktur mit Parametern. */

import js_base.structures.*;
/*
 * Package mit der Basisklasse für die Bearbeitung von
 *
Dateien mit XML-Strukturen. */
import js_base.xml.*;
/* */
public class JS_ProjAssist_CommandCenter extends JSBS_StartFrame {
/*
 * Constructor der Klasse.

Die Bibliothek js_base.xml enthält Klassen für das Einlesen von XML-Strukturen aus Dateien und das Bearbeiten dieser XML-Strukturen.

zum Inhaltsverzeichnis

XML-Struktur für sprachabhängige Texte konstruieren

/* 
 * Methode mit den Initialisierungen die notwendig sind bevor das Frame (Window)
 * angezeigt wird. */

    
private void initialize_before_frame(String parmstrLanguageCode) {
/* 
 * Initialisieren der Struktur mit den Parametern, die für die gesamte Applikation
 * (inklusive der Task-Frames) gelten.
 * Diese Struktur ist in der geerbten Klasse (JSBS_StartFrame) definiert. */

      
structJSBS_UniversalParameters =
                 
new JSBS_UniversalParameters(parmstrLanguageCode);
/* 
 * 'Construct' der XML-Struktur mit den sprachabhängigen Texten für GUI-Elemente.
 * Im Constructor wird die XML-Struktur aus der Datei 'DisplayStrings.xml'
 * im Verzeichnis 'TEXT.ls' gelesen wobei 'ls' der ISO-Code der gewählten Sprache
 * (als Parameter der Methode 'main' mitgegeben) ist. */

      
structJSBS_XML_DisplayStrings =
                 
new JSBS_XML_DisplayStrings(structJSBS_UniversalParameters);
/* 
 * Prüfen ob die XML-Struktur fehlerfrei gelesen werden konnte. */

      
if (structJSBS_XML_DisplayStrings.StatusCode != structJSBS_XML_DisplayStrings.CONST_OK) {
                 
new JSBS_XML_DisplayStrings(structJSBS_UniversalParameters);
/* Fehler beim Einlesen der XML-Struktur; Fehlermeldung und Status-Code auf der Konsole ausgegen.
 * Eine Beschreibung des Fehler-Codes ist in der Interface JSBS_XML_Constants zu finden. */

        System.out.println(
"Fehler beim Einlesen von 'DisplayStrings.xml'; StatusCode: " +
                           Integer.toString(
structJSBS_XML_DisplayStrings.StatusCode));
      }
    }

Das 'Construct' für die Struktur enthält umfangreichen Code in den Basisklassen.
Darin wird die Datei gelesen und die darin enthaltene XML-Struktur in die Variable übertragen.

Im StatusCode von structJSBS_XML_DisplayStrings sind etwaige Fehler enthalten die beim Öffnen der Datei oder beim Einlesen der XML-Struktur aufgetreten sind.
Ob ein Fehler aufgetreten ist, wird anschließend an das 'construct' über den
StatusCode abgefragt.
Die Fehler-Codes sind in der Java-Interface JSBS_XML_Constants definiert.
Nachdem die Application noch keine Graphische Benutzeroberfläche hat, müssen etwaige Fehler über die Konsole gemeldet werden
.

zum Inhaltsverzeichnis

GUI-Elemente mit sprachabhängigen Texten versehen

/* 
 * Methode mit den Initialisierungen die notwendig sind nachdem das Frame (Window)
 * angezeigt wird. */

    
private void initialize_after_frame() {
/* 
 * Methode aufrufen mit der alle (in der Datei 'DisplayStrings.xml' definierten)
 * GUI-Elemente mit Text, Font und ToolTipText versehen werden. */

      JSBS_GUIServices.processLanguageDependantElements(
this);
    }

Nachdem die Graphische Benutzeroberfläche erstellt ist wird durch eine Methode der Basisklassen jedes GUI-Element mit dem sprachabhängigen Text aus der XML-Struktur versehen.

Nachdem die XML-Struktur für die sprachabhängigen Texte (structJSBS_XML_DisplayStrings) in einer Basisklasse des JS-FCF definiert ist, ist deren Name bekannt und nicht änderbar. Damit kann an die Methode zum Zuordnen der Texte zu den GUI-Elementen (JSBS_GUIServices.processLanguageDependantElements(...)) einfach das aktuelle Frame (this) übergeben werden.

zum Inhaltsverzeichnis

Verzeichnis und Datei mit der XML-Struktur mit den sprachabhängigen Texten erstellen

Die Datei mit den sprachabhängigen Texten in deutscher Sprache muß im Unterverzeichnis 'TEXT.de' (relativ zum Verzeichnis des Projects) enthalten sein und als Dateinamen 'DisplayStrings.xml' haben.
Für eine genauere Erläuterung der Verzeichnisstruktur für das JS-FCF sehen Sie bitte im Dokument
Verzeichnisstruktur für die Entwicklung von Heavyweight-Clients mit JS-FCF nach.

Um eine neues Verzeichnis zu erstellen wird das übergeordnete Verzeichnis (in unserem Beispiel das Project 'Java_Fatclient_01') mit der rechten Maustaste angeklickt und aus dem erscheinenden Kontext-Menu New > Folder ausgewählt.


Im darauf hin erscheinenden Fenster (New Folder) wird der 'Folder name' erfaßt (TEXT.de im Beispiel) und durch Anklicken der Schaltfläche [  Finish  ] bestätigt.
Damit wird auch das Fenster wieder geschlossen.

Bitte beachten Sie die Groß- und Kleinschreibung beim Namen des Verzeichnisses.


Für das Anlegen der Datei wird das gerade angelegte Verzeichnis ('TEXT.de') mit der rechten Maustaste angeklickt und aus dem Kontext Menu New > File ausgewählt.


Im darauf hin erscheinenden Fenster (New File) wird der 'File name' erfaßt (DisplayStrings.xml im Beispiel) und durch Anklicken der Schaltfläche [  Finish  ] bestätigt.
Damit wird auch das Fenster wieder geschlossen.



Die gerade erstellte Datei wird mit der folgenden XML-Struktur gefüllt.
Für eine detaillierte Erklärung der Bedeutung der einzelnen XML-Elemente in der Struktur sehen Sie bitte im Dokument
Datei 'DisplayStrings.xml' mit sprachabhängigen Texten für die Anzeige auf der GUI nach.

<root>
  
<Layout>
    
<LabelFontName>Dialog</LabelFontName>
    
<LabelFontSize>12</LabelFontSize>
    
<LabelFontColor>0</LabelFontColor>
    
<LabelFontStyle>0</LabelFontStyle>
    
<TextFontName>DialogInput</TextFontName>
    
<TextFontSize>12</TextFontSize>
    
<TextFontColor>0</TextFontColor>
    
<TextFontStyle>0</TextFontStyle>
  
</Layout>
  
<CommonElements>
    
<CommonElement>
      
<ElementName>btn_Continue</ElementName>
      
<ElementText>Weiter</ElementText>
      
<ToolTipText>Weiter im Ablauf</ToolTipText>
    
</CommonElement>
    
<CommonElement>
      
<ElementName>btn_Help</ElementName>
      
<ElementText>Hilfe</ElementText>
      
<ToolTipText>Hilfe für das Programm aufrufen</ToolTipText>
    
</CommonElement>
    
<CommonElement>
      
<ElementName>lbl_ApplicationTitle1</ElementName>
      
<ElementText>JavaScout ProjectAssist</ElementText>
      
<ToolTipText>Projekt-Unterstützung für das JavaScout Fat-Client-Framework</ToolTipText>
    
</CommonElement>
  
</CommonElements>
  
<FrameIndividual>
    
<Frame>
      
<FrameClass>js_projassist.client.JS_ProjAssist_CommandCenter</FrameClass>
      
<FrameTitle>CommandCenter – ProjectAssist für das JavaScout Fat-Client-Framework / © 2008 www.javascout.biz</FrameTitle>
      
<Element>
        
<ElementName>btn_Help</ElementName>
        
<CommonElementReference>btn_Help</CommonElementReference>
      
</Element>
      
<Element>
        
<ElementName>btn_Continue</ElementName>
        
<CommonElementReference>btn_Continue</CommonElementReference>
      
</Element>
      
<Element>
        
<ElementName>lbl_ApplicationTitle1</ElementName>
        
<CommonElementReference>lbl_ApplicationTitle1</CommonElementReference>
        
<FontSize>14</FontSize>
        
<FontStyle>2</FontStyle>
      
</Element>
      
<Element>
        
<ElementName>lbl_ApplicationTitle2</ElementName>
        
<ElementText>Auswahl der Anwendungen</ElementText>
        
<FontStyle>2</FontStyle>
      
</Element>
      
<Element>
        
<ElementName>lbl_SelectableTasks</ElementName>
        
<ElementText>Wählbare Geschäftsanwendungen:</ElementText>
        
<ToolTipText>Aufrufen der Anwendung durch Eingabe des Codes und Klicken von [Weiter]</ToolTipText>
      
</Element>
      
<Element>
        
<ElementName>lbl_OpenTasks</ElementName>
        
<ElementText>Aufgerufene Geschäftsanwendungen:</ElementText>
        
<ToolTipText>Aufrufen des Fensters durch Eingabe der Nummer und Klicken von [Weiter]</ToolTipText>
      
</Element>
      
<Element>
        
<ElementName>pnl_OpenTasksTable</ElementName>
        
<TableHeaderColumns>
          
<Column>
            
<SymbolicName>Row-Number</SymbolicName>
            
<ElementText>Auswahl</ElementText>
            
<Width>3</Width>
          
</Column>
          
<Column>
            
<SymbolicName>SelectableCode</SymbolicName>
            
<ElementText>Anwendung (Code)</ElementText>
            
<Width>10</Width>
          
</Column>
          
<Column>
            
<SymbolicName>TaskData</SymbolicName>
            
<ElementText>Bearbeitete Daten</ElementText>
            
<Width>50</Width>
          
</Column>
        
</TableHeaderColumns>
      
</Element>
      
<Element>
        
<ElementName>lbl_Code</ElementName>
        
<ElementText>Auswahl:</ElementText>
        
<ToolTipText>Code oder Nummer für wählbare oder aufgerufene Geschäftsanwendung</ToolTipText>
      
</Element>
      
<Element>
        
<ElementName>lbl_Parameter1</ElementName>
        
<ElementText>Kriterium 1:</ElementText>
        
<ToolTipText>Von der Geschäftsanwendung abhängiger Wert der beim Aufrufen 'mitgegeben' wird</ToolTipText>
      
</Element>
      
<Element>
        
<ElementName>lbl_Parameter2</ElementName>
        
<ElementText>Kriterium 2:</ElementText>
        
<ToolTipText>Von der Geschäftsanwendung abhängiger Wert der beim Aufrufen 'mitgegeben' wird</ToolTipText>
      
</Element>
      
<Element>
        
<ElementName>lbl_Parameter3</ElementName>
        
<ElementText>Kriterium 3:</ElementText>
        
<ToolTipText>Von der Geschäftsanwendung abhängiger Wert der beim Aufrufen 'mitgegeben' wird</ToolTipText>
      
</Element>
      
<Element>
        
<ElementName>txt_Code</ElementName>
        
<ToolTipText>Code oder Nummer für wählbare oder aufgerufene Geschäftsanwendung</ToolTipText>
        
<InfoMessage>Ausgewählte Geschäftsanwendung anklicken oder Code oder Nummer eingeben und dann [Weiter] anklicken</InfoMessage>
      
</Element>
      
<Element>
        
<ElementName>txt_Parameter1</ElementName>
        
<ToolTipText>Von der Geschäftsanwendung abhängiger Wert der beim Aufrufen 'mitgegeben' wird</ToolTipText>
        
<InfoMessage>Parameter-Wert für die aufzurufende Geschäftsanwendung; abhängig vom gewählten Code</InfoMessage>
      
</Element>
      
<Element>
        
<ElementName>txt_Parameter2</ElementName>
        
<ToolTipText>Von der Geschäftsanwendung abhängiger Wert der beim Aufrufen 'mitgegeben' wird</ToolTipText>
        
<InfoMessage>Parameter-Wert für die aufzurufende Geschäftsanwendung; abhängig vom gewählten Code</InfoMessage>
      
</Element>
      
<Element>
        
<ElementName>txt_Parameter3</ElementName>
        
<ToolTipText>Von der Geschäftsanwendung abhängiger Wert der beim Aufrufen 'mitgegeben' wird</ToolTipText>
        
<InfoMessage>Parameter-Wert für die aufzurufende Geschäftsanwendung; abhängig vom gewählten Code</InfoMessage>
      
</Element>
    
</Frame>
  
</FrameIndividual>
</root>

Für das einfache Verwalten von sprachabhängigen Texten und das Generieren der Datei mit der XML-Struktur wird die Verwendung JavaScout ProjectAssist empfohlen.

zum Inhaltsverzeichnis

Test

Die Einstellungen und die Angabe der zu verwendenden Sprache als Parameter wurden schon im vorigen Schritt ausgeführt und bleiben als Einstellung für das 'Project' erhalten.

Zum Starten wird Run > Open Run Dialog ausgewählt.


Die Einstellungen können noch einmal kontrolliert werden und nach dem Anklicken der Schaltfläche [ Run ] wird das Programm gestartet.


Daraufhin erscheint das Fenster mit der Benutzeroberfläche wie sie in der Basisklasse JSBS_StartFrame entworfen wurde.
Sprachabhängige Texte werden so angezeigt wie sie in der XML-Struktur in der Datei 'DisplayStrings.xml' erfaßt wurden.

Anmerkung:
Bei der zur Zeit der Erstellung dieses Tutorials (Februar 2008) installierten Version von Java und/oder Eclipse erscheinen die Elemente der Benutzeroberfläche erst nachdem die Größe des Fensters verändert wurde.
Dieser Fehler ist hoffentlich bereits behoben wenn Sie dieses Tutorial durcharbeiten.

zum Inhaltsverzeichnis

zum Inhaltsverzeichnis

Gesamter Code am Ende des Schrittes

zum Inhaltsverzeichnis

Klasse JS_ProjAssist_CommandCenter

zum Inhaltsverzeichnis

Weitere Schritte und verwandte Dokumentation

Dokument

Inhalt

Tutorial: JavaScout ProjectAssist, Start-Frame Grundlagen (Java_Fatclient_01) – Weitere XML-Strukturen einlesen  

Im nächsten Schritt des Tutorials wird vorgestellt, wie die XML-Struktur für die Liste mit den wählbaren Geschäftsanwendungen eingelesen und angezeigt wird und wie die Parameter für die Verbindung zur Datenbank eingelesen werden und die Verbindung zur Datenbank aufgebaut wird.

Verzeichnisstruktur für die Entwicklung von Heavyweight-Clients mit JS-FCF  

In diesem Theorie-Dokument ist die Verzeichnisstruktur beschrieben, unter der die verwendeten Basis-Klassen die Datei mit den sprachabhängigen Texten erwartet.

Datei 'DisplayStrings.xml' mit sprachabhängigen Texten für die Anzeige auf der GUI  

In diesem Theorie-Dokument ist die XML-Struktur der Datei (DisplayStrings.xml) mit den sprachabhängigen Texten für die GUI-Elemente beschrieben.

ProjectAssist - das Programm zur Unterstützung der Software-Entwicklung mit dem JavaScout Fat-Client-Framework  

Inhaltsverzeichnis für ProjectAssist; das Anwendungsprogramm zum Erstellen der XML-Datei.

zum Inhaltsverzeichnis