Sorry, JavaScript must be enabled.
Change your browser options, then try again.

. .
 | !Login | Contact | Impint

LabelFactory - internationalisierte Beschriftungen aus der Datenbank

Als Entwickler von Benutzerinterfaces hat man oft das Problem, dass Bedienelemente beschriftet werden müssen - je nach Projekt auch mehrsprachig. Üblicherweise wird dieses mit Ressourcefiles erledigt, die zusätzlich zum Code gewartet und verwaltet werden müssen. Meine LabelFactory generiert Label und Tooltiptext Vorbelegungen direkt aus dem Java Code in die Datenbank.

Ich bevorzuge es, meine Benutzeroberflächen direkt in Java zu programmieren und entsprechend muß ich dann dort schon die Beschriftung organisieren. In der Klasse, die mein Bedienelement generiert instanziere ich eine LabelFactory mit:

public class MyGUIComponent {
    LabelFactory lf = new LabelFactory(this.getClass());
...

um sie dann z.B. so zu benutzen:

Button saveButton = new Button(lf.label("saveButton", "Save", "Save data of this form"));
saveButton.setTooltiptext(lf.tooltiptext("saveButton")) ;
Button deleteButton = new Button(lf.label("deleteButton", "Delete", "Delete this DB entry"));
saveButton.setTooltiptext(lf.tooltiptext("saveButton")) ;

Der erste lf.label(String key, String initlabel, String inittooltip) Aufruf sucht z.b. bei locale "de" den Key"de:MyGUIComponent.saveButton"- zuerst im Label Cache, dann in der Datenbank. Liegen noch keine Einträge vor, werden sie neu angelegt. In der Datenbank finden sich dann folgende neue Einträge:

Key (PK)
Label
Tooltiptext
de:MyGUIComponent.saveButton
!Save
!Save data of this form
de:MyGUIComponent.deleteButton
!Delete
!Delete this DB entry;

 

Das Ausrufezeichen signalisiert, dass dieser Label noch mit den englischen Defaulttexten des Programmierers versehen ist und noch übersetzt werden muß. (Diese Ausrufezeichen sind Ihnen vieleicht schon beim Anmeldeformular begegnet).