Die Entwicklungsumgebung JControl/IDE

II. Der Umgang mit Projekten

Dieses Kapitel erklärt, wie JControl-Projekte mit der JControl/IDE erstellt, gespeichert, von der Festplatte geladen und wie die Projekt-Eigenschaften verändert werden können. Ebenso wird gezeigt, wie Projekten bestehende Dateien hinzugefügt bzw. wie neue Dateien innerhalb von Projekten erstellt werden können. Anschließend wird beschrieben, wie Projekte auf ein JControl-Modul geladen und dort ausgeführt, bzw. wie die Projekte von dort auch wieder zurückgeladen werden können.




Projekte anlegen

Es gibt mehrere Möglichkeiten, um ein neues Projekt in der JControl/IDE zu erstellen:

Man gelangt an dieses Menü über die Menüleiste (Projekt->Neu), über das Kontext-Menü des Arbeitsbereichs, oder auch durch Anklicken des kleinen Pfeils rechts neben dem Neu-Symbol in der Symbolleiste.

Als nächstes erscheint der sog. Projekt-Wizard. Bei einem Wizard handelt es sich um mehrere nacheinandergeschaltete Dialogfenster, über die sich alle erforderlichen Einstellungen vornehmen lassen. Im ersten Dialogfenster (Bild 1) wird der Projekt-Typ festgelegt. Diese Einstellung kann nachträglich nicht mehr verändert werden. Dabei stehen zwei unterschiedliche Projekt-Typen zur Auswahl:

Anmerkung: Projekte werden zumeist als Java-Projekt angelegt; Klassen-Projekte spielen eine untergeordnete Rolle.

Bild 1: Das Dialogfenster Neues Projekt

Wurde der gewünschte Typ für das Projektes ausgewählt, so wird nach einem Klick mit der linken Maustaste auf den Button Next das nächste Dialogfenster aufgerufen (Bild 2). Hier lassen sich der Name des Projekts sowie das Verzeichnis auswählen, in dem das Projekt angelegt werden soll. Das vorgeschlagene Verzeichnis befindet sich im Standard-Projektverzeichnis, das in den globalen Pfadeinstellungen eingstellt werden kann. Ist für das neue Projekt ein anderes Verzeichnis gewünscht, muß die entsprechende Optionsschaltfläche gewählt werden. Das Projekt-Verzeichnis ist nachträglich nicht mehr veränderbar, allerdings kann der Projekt-Name später noch geändert werden.

Bild 2: Das Dialogfenster Name und Pfad

Nachdem der Projekt- und Verzeichnisname festgelegt worden sind, führt ein Klick auf den Next-Button zu einem weiteren Dialogfenster (Bild 3). An dieser Stelle kann das JControl-Gerät ausgewählt werden, auf dem das neue Projekt ausgeführt werden soll (z.B. JControl/SmartDisplay). Ist ein JControl-Gerät angeschlossen und befindet es sich zudem im Download-Modus, so läßt sich diese Einstellung mit der Funktion Autom. Erkennung auch automatisch vornehmen. Die Einstellung für das Zielgerät kann später noch im Projekt-Eingenschaften-Dialog verändert werden.

Bild 3: Das Dialogfenster Geräteauswahl

Hinweis: Sollte ein JControl-Gerät nicht erkannt werden, so kann der Grund dafür sein daß die JControl/IDE dieses Modul noch nicht unterstützt. In diesem Fall können Sie ein entsprechendes Geräteprofil herunterladen und in die JControl/IDE integrieren.

Durch einen Klick auf den Button mit der Aufschrift Finish wird das neue Projekt sofort angelegt. Alternativ gelangen Sie mit dem Next-Button zu einem weiteren Dialogfenster, in dem Sie dem Projekt noch Java-Bibliotheken hinzufügen können, die nicht standardmäßig für das ausgewählte JControl-Gerät eingebunden sind (Bild 4).

Bild 4: Das Dialogfenster Bibliotheken

Im Dialogfenster Bibliotheken (Bild 4) sind alle Java-Bibliotheken aufgelistet, die in das Projekt eingebunden werden sollen. Die Standard-Bibliotheken erscheinen dabei in einem matten Grau und lassen sich nicht aus dem Projekt entfernen. Allerdings können weitere, benutzerspezifische Bibliotheken in Form von jar-Archiven oder als Verzeichnisse eingebunden werden. Im Normalfall wird dieses jedoch nicht erforderlich sein.

Archive bzw. Verzeichnisse enthalten bereits fertig kompilierte Java-Klassendateien (Erweiterung "class"). In der Anwendung können Klassen aus Bibliotheken mit dem import-Statement referenziert werden.

Anmerkung: Benutzerspezifische Bibliotheken können später noch hinzugefügt, bzw. auch wieder entfernt werden.

Mit den beiden Pfeil-Buttons am rechten Rand des Dialogfensters läßt sich die Reihenfolge der Bibliotheken verändern. Die Archive werden in der Reihenfolge von oben nach unten zu einem Projekt hinzugebunden. Das ist insbesondere dann von Wichtigkeit, wenn sich gleichnamige Klassen in unterschiedlichen Archiven bzw. Verzeichnissen befinden. In diesem Falle haben die zuerst eingebundenen Klassen Priorität über die danach eingebundenen Klassen.

Nach einem abschließenden Klick auf den Button Finish wird die Erstellung des neuen Projekts abgeschlossen. Das neue Projekt ist dann unter seinem Namen im Arbeitsbereich zu sehen.



Projekte laden und ändern

Für das Laden bestehender Projekte gibt es in der JControl/IDE wie bei der Erstellung auch 4 Möglichkeiten:

In dem sich nun öffnenden Dialogfenster können die neuen JControl-Projektdateien (Erweiterung ".jcp") genauso ausgewählt und geöffnet werden wie in anderen Programmen auch (z.B. wie beim Öffnen von ".doc"-Dateien in Microsoft(TM) Word). Der Name des so geöffneten Projektes erscheint nach dem Öffnen im Arbeitsbereich.

Um die Eigenschaften eines Projektes verändern zu können, wird das Projekt zunächst im Arbeitsbereich selektiert (das ist nicht erforderlich wenn es sich um das einzige geöffnete Projekt handelt). Danach gibt es zwei Möglichkeiten, den Einstellungs-Dialog zu öffnen:

Das sich dann öffnende Dialogfenster zeigt auf linken Seite gruppenweise alle verfügbaren Projekteigenschaften an. Dazu gehören Allgemeines, Information, Geräteauswahl, Bibliotheken, Haupklasse und Simulator Bei Anwahl einer dieser Gruppen werden die dazugehörigen Einstellungen für die Projekteigenschaften in der rechten Seite des Fensters angezeigt.

Bild 5: Allgemeine Informationen über das Projekt

Bei der Auswahl der Allgemeines-Gruppe werden allgemeine Informationen über das selektierte Projekt angezeigt (Bild 5). Dazu gehören der Projekt-Pfad und die Größe des Projektes auf dem ausgewählten Zielgerät (in Bytes). Die Projekt-Größe kann nicht immer eindeutig ermittelt werden, insbesondere wenn das Projekt neu angelegt wurde). Der Projekt-Name wird hier ebenfalls angezeigt und läßt sich bei Bedarf vom Benutzer auch verändern. Das Ändern des Projekt-Namens an dieser Stelle ändert nicht den Dateinamen des Projektes (vgl. Umbenennen)

Bild 6: Benutzer-Informationen

Die Gruppe Information dient zum Anzeigen und Ändern von Benutzer-Informationen, die jedem Projekt frei zugewiesen werden können.

Bild 7: Die Geräteauswhl

In der Gruppe Geräteauswahl (Bild 7) kann das Zielgerät eingestellt werden, für das das Projekt erstellt werden soll. Die Geräteauswahl funktioniert so wie beim Erstellen neuer Projekte.

Bild 8: Die Bibliotheken des Projekts

In der Gruppe Bibliotheken können benutzerspezifische Bibliotheken in ein Projekt eingebunden und anschließend priorisiert werden (Bild 8) (vgl. auch Erstellen neuer Projekte).

Bild 9: Auswahl der Hauptklasse

In der Gruppe Hauptklasse kann die Klasse ausgewählt werden, dessen main()-Methode beim Start des Gerätes bzw. des Simulators ausgeführt werden soll (Bild 9). Dies ist z.B. dann sinnvoll, wenn in einem Projekt mehrere Klassen mit einer main()-Methode vorhanden sind. Ebenso kann die Hauptklasse über das Kontextmenü des Navigations-Fensters festgelegt werden, indem dort auf die entsprechende Klasse (rechts) geklickt wird und im Kontextmenü der Punkt Hauptklasse gewählt wird. Weiterhin lassen sich hier Argumente angeben, die der main()-Methode beim Start übergeben werden sollen.

In der letzten Gruppe Simulator kann eine Option gewählt werden, mit der vor jeder Simulation des Projektes zunächst geprüft wird, ob das Projekt auf dem echten JControl-Gerät lauffähig ist.



Neue Dateien erstellen

Nachdem ein Projekt angelegt worden ist, lassen sich neue Dateien erstellen und dem aktuellen Projekt hinzufügen. Dies geschieht über das Neu-Menü, das bereits beim Erstellen neuer Projekte verwendet wurde. Ein anderer Weg ist das Kontext-Menü des Navigations-Fensters, das mit einem Klick auf die rechte Maustaste geöffnet wird. In dem sich öffnenden Menü kann dann der Typ der neuen Datei ausgewählt werden (Bild 9).

Bild 9: Anlegen neuer Dateien über das Kontextmenü

Bild 9 zeigt die zur Auswahl stehenden Dateitypen für ein Java-Projekt. Tabelle 1 stellt diese Dateitypen noch einmal zusammen:

DateitypIconEndung
Java-Quelltext .java
Bild .jcif
Schriftart .jcfd
Melodie .imy
Tabelle 1: Dateitypen, Icons und Endungen der Dateinamen

Die Darstellung des Menüs zum Anlegen neuer Dateien ist abhängig vom Kontext und Projekttypen. Deshalb kann das Menü in seiner Erscheinungsform zum Teil von der hier gezeigten Weise mehr oder weniger stark abweichen.

Ist der gewünschte Dateityp ausgewählt worden, erscheint ein Dialogfenster, in dem Name und Pfad der neuen Datei anzugeben sind. Hier kann mit dem Button Pfad ändern ein weiteres Dialogfenster geöffnet werden, mit dem der gewünschte Pfad komfortabel über einen Verzeichnis-Auswahldialog eingestellt werden kann (Bild 10). Sind alle Angaben vollständig, wird die Datei mit Klick auf den Button Ok angelegt und erscheint fortan im Quellen-Navigator des aktiven Projektes.

Bild 10: Verzeichnis-Auswahldialog

Beim Anlegen neuer Java-Dateien kann zusätzlich zum Klassennamen optional auch ein Package angegeben werden. In diesem Fall wird die neue Java-Datei automatisch in einem entsprechenden Unterverzeichnis angelegt. Weiterhin besteht die Möglichkeit, auch gleich eine Main-Methode zu generieren (rot umrahmte Option in Bild 11). Listing 1 zeigt den Quelltext einer Java-Datei, die auf diese Weise erstellt worden ist.

Bild 11: Dialogfenster zum Anlegen neuer (Java-)Dateien

1    /**
2     * Java file created by JControl/IDE
3     *
4     * @author Author
5     * @date   Date
6     *
7     */
8    public class Test {
9    
10        public Test() {
11            // add your code here
12        }
13    
14        public static void main(String[] args) {
15            new Test();
16        }
17    }
Listing 1: Java-Quelltext-Datei mit automatisch generierter main-Methode

Als alternative Möglichkeit zum Anlegen neuer Dateien ist es ausreichend, eine leere (Text-)Datei auf Betriebssystem-Ebene (z.B. bei Windows in einem Fenster des Explorers) anzulegen und die Endung des Dateinamens entsprechend dem gewünschten Dateityp zu ändern (siehe Tabelle 1).



Dateien und Verzeichnisse einbinden

Ab IDE Version 3.3.0 können einem Projekt komplette Verzeichnisse als Quellen zugewiesen werden. D.h. der gesamte Inhalt eines Verzeichnisses wird automatisch als Teil des Projektes betrachtet. Die IDE behandelt hierbei jedoch nur solche Dateien, die mit dem jeweiligen JControl-Gerät kompatibel sind, bzw. vom Kompiler in ein entsprechendes Format konvertiert werden können. In aller Regel werden das genau jene Dateiformate sein, die auch von der IDE selbst erstellt werden können. (vgl. Neue Dateien erstellen). Das bedeutet, daß eventuell vorhandene Meta-Dateien (CVS- oder SVN-Einträge, Thumbnails, INI-Dateien etc.) ignoriert und nicht versehentlich mit auf das Gerät geladen werden. Wird der Inhalt der Quell-Verzeichnisse von externen Programmen in irgendeiner Form geändert, so registriert die IDE dies und aktualisiert das Projekt automatisch.

Wie in frühreren Versionen ist es auch nach wie vor möglich, nur einzelne Dateien, die nicht innerhalb eines Quellen-Verzeichnisses liegen, einzubinden.

Wie das Erstellen neuer Dateien auch erfolgt das Einbinden von Verzeichnissen oder einzelner Dateien über das Kontextmenü des Navigations-Fensters.

Bild 12: Zwei Menüpunkte des Kontextmenüs des Navigations-Fensters

Hinweis: Verzeichnisse werden rekursiv hinzugefügt. D.h., dass nacheinander alle Unterverzeichnisse (und wiederum deren Unterverzeichnisse) durchsucht und alle darin enthaltenen, bekannten Dateien dem Projekt hinzugefügt werden.

Wie hinzugefügte Dateien in einem Projekt verwendet werden, wird in diversen Beispiel-Projekten gezeigt, die zusammen mit der JControl/IDE installiert werden. Bilder und Schriftarten werden z.B. im ResourcesExample http://www.jcontrol.org/examples/ResourcesExample.zip benutzt.



Dateien in ein Projekt kopieren

Die Funktion Dateien kopieren bewirkt, daß Dateien in ein zuvor gewähltes Quell-Verzeichnis des Projektes auf Dateisystemebene hineinkopiert werden. Dabei werden Ressourcen flach in das gewählte Verzeichnis kopiert. Java-Dateien hingegen werden nach ihren Packages in entsprechende Unterverzeichnisse aufgeteilt.

Damit diese Funktion zur Verfügung steht, muß das Projekt mindestens ein Quell-Verzeichnis enthalten. Wie Projekten ein solches Quell-Verzeichnis zugewiesen wird, erfahren Sie unter Dateien und Verzeichnisse einbinden.. Wählen Sie das gewünschte Verzeichnis im Navigations-Fensters und öffnen Sie das Kontextmenü.. Mit dem Punkt Hierher kopieren... können entweder einzelne Dateien oder ganze Verzeichnisse (und aller Unterverzeichnisse) kopiert werden (Bild 13). Diese Funktion ist nur im Quellen-Navigator verfügbar.

Bild 13: Zwei Menüpunkte des Kontextmenüs des Navigations-Fensters

Standardmäßig auswählbare Dateien sind Bild-, Schriftart- und Melodie-Dateien (Erweiterungen: ".jcif", ".jcfd", ".imy"). Außerdem können natürlich Java-Quelltext-Dateien mit Erweiterung ".java" (bei einem Java-Projekt) kopiert werden.



Projekte hoch- und herunterladen

Ist ein Projekt soweit, daß es auf einem JControl-Gerät ausgeführt werden soll, so muss es als ausführbarer Java-Bytecode auf das Gerät geladen werden. Dies klingt nach viel Arbeit, gestaltet sich jedoch ganz einfach. Der Bytecode wird jedesmal automatisch erzeugt, sobald eine Datei eines Projekts gespeichert wird. Um den Vorgang des Hochladens zu starten, bedarf es nun lediglich eines (Links)-Klicks auf den entsprechenden Button in der Symbolleiste oder auf den Menüpunkt Transfer->Projekt hochladen. Achtung: Das angeschlossene JControl-Modul muss sich im Download-Modus befinden.

Im Folgenden sind die Schritte aufgeführt, die beim Hochladen eines Projekts auf ein JControl-Modul durchlaufen werden.

Bild 14: Ein Projekt wird auf ein JControl-Modul geladen

Der Java-Bytecode befindet sich nun auf dem JControl-Gerät und kann jetzt in der dem Projekt zugedachten Hardware-Umgebung ausgeführt werden.
Sofern das Projekt bei späteren Hochlade-Vorgängen immer wieder auf dasselbe Gerät geladen werden soll, wird auch bei Verfügbarkeit mehrerer Geräte kein Bestätigungs-Dialog mehr angezeigt, sofern das zuletzt gewählte Gerät angeschlossen und bereit ist. Wird ein anderes Gerät gewünscht, kann mit mit der linken Maustaste auf den kleinen Pfeil neben dem Symbol in der Menüleiste ein Untermenü geöffnet werden. Mit dem Punkt "Projekt hochladen auf..." kann das Projekt auf ein anderes angeschlossenes Gerät geladen werden.

Um Projekte von einem JControl-Modul herunterzuladen, muß sich dieses ebenfalls im Download-Modus befinden. Danach leitet ein (Links-)Klick auf den entsprechenden Button, bzw. Menüpunkt den Vorgang des Herunterladens ein. Ähnlich wie beim Hochladen werden die Schnittstellen zunächst nach angeschlossenen JControl-Modulen durchsucht. Dann muss der Benutzer angeben, aus welcher Speicherbank ein Projekt heruntergeladen werden soll (auch, wenn das Modul nur eine Speicherbank besitzt; siehe Bild 16). Daraufhin müssen der Projektname und das Zielverzeichnis angegeben werden (Bild 17). Die Vorauswahl funktioniert genauso wie beim Erstellen eines neuen Projektes. Schließlich wird das ausgewählte Projekt aus dem JControl-Modul heruntergeladen (Bild 18).

Bild 16: Auswahl des herunterzuladenden Projekts

Bild 17: Dialogfenster zur Eingabe des Projektnamens und des Zielverzeichnisses

Bild 18: Das Projekt wird heruntergeladen

Das heruntergeladene Projekt befindet sich jetzt als binäre Image-Datei (Erweiterung: img) zusammen mit einer entsprechenden Projekt-Datei (Erweiterung ".jcp") in dem angegebenen Zielverzeichnis.



© 2000-2006 DOMOLOGIC Home Automation GmbH. All Rights Reserved.