Die Klasse ObjectLoader besitzt zumeist statische Methoden die den Zugriff auf eva/3 Application Builder Projekt-Elemente erlauben. So kann vom Formular bis hin zum Macro eine entsprechende Instanz geholt, oder falls noch nicht instanziiert, erzeugt werden. Alle Projekt-Elemente werden vom ObjectLoader verwaltet und gecached. Die mehrfachinstanziierung eines Projekt-Elementes findet auch dann nicht statt, wenn die entsprechende Klassenmethode des ObjectLoaders mehrfach aufgerufen wird.
Die Methode Color getColor(String colorName) gibt eine benannte Farbe als java.awt.Color Objekt zurück, wobei das
Argument "colorName" den Farbnamen definiert.
Beispiel:
try{ // Liest die Farbe Hintergrund aus und liefert java.awt.Color zurück. Color color = ObjectLoader.getColor("Hintergrund"); } catch (InvocationTargetException e) { e.printStackTrace(); }
Die Methode SFrame getSFrame(String name) gibt das im Argument "name" benannte Formular als SFrame zurück.
Es spielt hierbei keine Rolle ob das Formular geöffnet ist. Aus dem SFrame ist der
Zugriff auf dessen Komponenten möglich. Das Beispiel lädt eine Schaltfläche und die eva/3 Application Builder Panels MainPanel, ToolbarPanel, MiddlePanel und SidePanel aus dem SFrame.
Beispiel:
try{
// ObjectLoader holt das Formular Auswahl und gibt es als SFrame zurück
SFrame sFrame = (SFrame) ObjectLoader.getSFrame("forms/test1.form");
// Das SFrame wird geladen
sFrame.afterLoading();
// Holt die Schaltfläche mit dem Namen "SButton" aus dem SFrame
SButton button = (SButton) sFrame.getObject("SButton");
// Holt das Panel, das das Toolbar- und das Mainpanel enthält
SPane sPane = sFrame.getSPane();
// Das ToolbarPanel holen
ToolBarPanel toolbarPanel = sPane.getToolBarPanel();
// Das MainPanel holen
MainPanel mainPanel = sPane.getMainPanel();
// Das MiddlePanel holen
MiddlePanel middlePanel = mainPanel.getMiddlePanel();
// Das SidePanel holen
SidePanel sidePanel = mainPanel.getSidePanel();
} catch (Exception e) {
e.printStackTrace();
}
Um Macros auszuführen, muss das Macro über die statische Klassenmethode getMacro (String name) der Klasse ObjectLoader geladen werden.
Dar Parameter "objectName" enthält den relativen Projektpfad des Formulars. Die Methode liefert ein Macro zurück.
Das Macro wird ausgeführt, indem die Methode execute(String[] s) aufgerufen wird. Der String-array s enthält die Argumente für das Macro.
Beispiel:
String objectName = "macro/PrintParams.macro"; Macro macro = null; try { macro = ObjectLoader.getMacro(objectName); } catch (IOException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } String macroParams[] = { "par1", "par2" }; macro.execute(macroParams);