<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to ModulErstellen</title><link>https://sourceforge.net/p/bsmanagement2/wiki/ModulErstellen/</link><description>Recent changes to ModulErstellen</description><atom:link href="https://sourceforge.net/p/bsmanagement2/wiki/ModulErstellen/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 01 Jun 2014 14:05:21 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/bsmanagement2/wiki/ModulErstellen/feed" rel="self" type="application/rss+xml"/><item><title>ModulErstellen modified by Manuel Geier</title><link>https://sourceforge.net/p/bsmanagement2/wiki/ModulErstellen/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="modul-erstellen"&gt;Modul erstellen&lt;/h1&gt;
&lt;h2 id="voraussetzungen"&gt;Voraussetzungen&lt;/h2&gt;
&lt;p&gt;Entwicklungsumgebung &lt;/p&gt;
&lt;h1 id="beispiel-helloworld-modul"&gt;Beispiel: HelloWorld-Modul&lt;/h1&gt;
&lt;p&gt;Hier werden wir beispielhaft ein &lt;em&gt;HelloWorld-Modul&lt;/em&gt; erstellen, welches auf der Startseite der Anwendung den Text "Hello World!" ausgibt. Als Entwicklungsumgebung wurde &lt;a class="" href="http://netbeans.org" rel="nofollow"&gt;Netbeans&lt;/a&gt; verwendet und einzelne Hinweise beziehen sich auf dieses Entwicklungssystem und könnten von anderen abweichen. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Als erstes müssen wir ein neues &lt;strong&gt;Java-Projekt erstellen&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Libaries einbinden&lt;/strong&gt; (Grundprogramm,...) &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modul-Datei erstellen&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Als nächstes erstellen wir die Datei die für die Initialisierung eines Modules verwendet wird. In diesem Beispiel ist dies zwar nicht zwingend erforderlich, jedoch erstellen wird sie und ich werde sie ein wenig erläutern. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;3.1. &lt;strong&gt;Datei erstellen&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Wir erstellen die JAVA-Datei namens &lt;em&gt;HelloModul.java&lt;/em&gt; im Package &lt;em&gt;newpackage&lt;/em&gt;. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;3.2. &lt;strong&gt;Ordnerstruktur&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;Hello&lt;span class="o"&gt;-&lt;/span&gt;World&lt;span class="o"&gt;-&lt;/span&gt;Projekt
\&lt;span class="o"&gt;+--&lt;/span&gt; Source Packages
 &lt;span class="o"&gt;|&lt;/span&gt;   \&lt;span class="o"&gt;+--&lt;/span&gt; newpackage
 &lt;span class="o"&gt;|&lt;/span&gt;    &lt;span class="o"&gt;|&lt;/span&gt;   \&lt;span class="o"&gt;+--&lt;/span&gt; HelloModul.java          &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; Neue Datei
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;3.3. &lt;strong&gt;Interface einfügen&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Diese Datei soll das Interface &lt;em&gt;Modul&lt;/em&gt; (cw.boardingschoolmanagement.interfaces.Modul) implementieren: &lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;package&lt;/span&gt; &lt;span class="n"&gt;newpackage&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;cw&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;boardingschoolmanagement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interfaces&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Modul&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt; &lt;span class="n"&gt;HelloModul&lt;/span&gt; &lt;span class="n"&gt;implements&lt;/span&gt; &lt;span class="n"&gt;Modul&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;init&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;// Nothing to do&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Eigentlich ist nichts weiter hier zu tun, jedoch könnten wir in der &lt;em&gt;init()&lt;/em&gt;-Methode grundlegende Programmkonfigurationen tätigen, wie zum Beispiel Menüeinträge hinzufügen etc. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Startseiten-Erweiterung erstellen&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Nun kommen wir zum eigentlichen Punkt. Der Erstellung der Erweiterung für die Startseite in der der Text angezeigt werden soll. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;4.1. Datei erstellen Wir erstellen die JAVA-Datei namens &lt;em&gt;HelloHomeExtention.java&lt;/em&gt; im Package &lt;em&gt;newpackage&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;4.2. &lt;strong&gt;Ordnerstruktur&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;Hello&lt;span class="o"&gt;-&lt;/span&gt;World&lt;span class="o"&gt;-&lt;/span&gt;Projekt
\&lt;span class="o"&gt;+--&lt;/span&gt; Source Packages
 &lt;span class="o"&gt;|&lt;/span&gt;   \&lt;span class="o"&gt;+--&lt;/span&gt; newpackage
 &lt;span class="o"&gt;|&lt;/span&gt;    &lt;span class="o"&gt;|&lt;/span&gt;   \&lt;span class="o"&gt;+--&lt;/span&gt; HelloModul.java
 &lt;span class="o"&gt;|&lt;/span&gt;    &lt;span class="o"&gt;|&lt;/span&gt;    &lt;span class="o"&gt;+--&lt;/span&gt; HelloHomeExtention.java          &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; Neue Datei
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;4.3. &lt;strong&gt;Interface einfügen&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;package&lt;/span&gt; &lt;span class="n"&gt;newpackage&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;cw&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;boardingschoolmanagement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;extentions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interfaces&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;HomeExtention&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;cw&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;boardingschoolmanagement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;HomePresentationModel&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;cw&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;boardingschoolmanagement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;component&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CWComponentFactory&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;cw&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;boardingschoolmanagement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;component&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CWPanel&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;cw&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;boardingschoolmanagement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ui&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RoundPanelUI&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;class&lt;/span&gt; &lt;span class="n"&gt;HelloHomeGUIExtention&lt;/span&gt; &lt;span class="n"&gt;implements&lt;/span&gt; &lt;span class="n"&gt;HomeExtention&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;initPresentationModel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;HomePresentationModel&lt;/span&gt; &lt;span class="n"&gt;homePresentationModel&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;CWPanel&lt;/span&gt; &lt;span class="n"&gt;getView&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="n"&gt;CWPanel&lt;/span&gt; &lt;span class="n"&gt;panel&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;CWComponentFactory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;createPanel&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="n"&gt;panel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setUI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;RoundPanelUI&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
        &lt;span class="n"&gt;panel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;CWComponentFactory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;createLabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Hello World!&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;panel&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;dispose&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Manifest&lt;/strong&gt; editieren &lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Die Manifest-datei liegt im root-Verzeichnis des Projektes und wurde automatisch erstellt. Sie sieht folgendermaßen aus und nach dem &lt;em&gt;build&lt;/em&gt;, automatisch in die spätere .jar-Datei eingefügt: &lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;Manifest&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Version&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.0&lt;/span&gt;
&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;COMMENT&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Main&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Class&lt;/span&gt; &lt;span class="n"&gt;will&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;added&lt;/span&gt; &lt;span class="n"&gt;automatically&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;build&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Wir müssen jetzt den Namen des Modules in das Manifest eintragen. Das Keyword dafür lautet: &lt;strong&gt;Modul-Name&lt;/strong&gt;. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;Manifest&lt;span class="o"&gt;-&lt;/span&gt;Version&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.0&lt;/span&gt;
X&lt;span class="o"&gt;-&lt;/span&gt;COMMENT&lt;span class="o"&gt;:&lt;/span&gt; Main&lt;span class="o"&gt;-&lt;/span&gt;Class will be added automatically by build
Modul&lt;span class="o"&gt;-&lt;/span&gt;Name&lt;span class="o"&gt;:&lt;/span&gt; newpackage.HelloModul          &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; Neuer Eintrag
&lt;/pre&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Hinweis:&lt;/em&gt; Als Modulname wird meist der Pfad zur &lt;em&gt;Modul-Class&lt;/em&gt; verwendet. In diesem Fall &lt;em&gt;newpackage.HelloModul&lt;/em&gt;. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;re &lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Manuel Geier</dc:creator><pubDate>Sun, 01 Jun 2014 14:05:21 -0000</pubDate><guid>https://sourceforge.net5bb4dcde72abf25670363007d67d985c7665f1e8</guid></item></channel></rss>