Kategorie ‘Software-Entwicklung’

Erweiterbare Java-Anwendungen programmieren

Montag, 27. Februar 2012

Hier beschreibe ich, wie Java-Programme implementiert werden können, die leicht zu erweitern sind. In diesem Artikel ist ein ZIP-Archiv mit vollständigem Java-Quellcode, nach einem Build + Run erscheint ein GUI.
(mehr …)

Fehlermeldungen

Montag, 9. Januar 2012

In diesem Artikel fasse ich zusammen, wie Fehlermeldungen aussehen, wie sie aussehen sollten und wie nicht. Außerdem reiße ich an, wie Programmierer mit Fehlern umgehen können.

Der Artikel bezieht sich hauptsächlich auf Programme, die mit dem Benutzer interagieren. Er gilt aber auch für Programme, die ohne Aufsicht (im Hintergrund) ablaufen: Diese können in der Regel zwar keine Benutzereingaben anfordern, die eine Fehlerbehebung anbieten, jedoch haben sie Fehler in eine Logdatei (Protokolldatei, Windows-Ereignisanzeige) zu schreiben in der gleichen Qualität.
(mehr …)

Das NetBeans-Lookup für Nicht-RCP-Projekte benutzen

Montag, 26. September 2011

Im Artikel Java-Aktionen richtig benutzen überlegte ich, wie Java-Actions ihre Daten erhalten und sich aktivieren oder deaktivieren abhängig davon, ob es relevante Daten gibt. Ich wollte nicht Swing-Components nach Daten befragen, die Actions dort als Listener registrieren und auf Statusänderungen des GUI reagieren. Als Lösung schlug ich Lookups vor – Container mit Elementen, die Beobachter benachrichtigen, falls sich ihr Inhalt ändert.

Ein solches Lookup benutzen NetBeans Platform-Anwendungen, es kann in Nicht-Platform-Anwendungen eingesetzt werden. Die Projekte integrieren dazu das JAR org-openide-util-lookup.jar, es ist unterhalb des NetBeans-Installationsverzeichnisses im Verzeichnis platform/lib.
(mehr …)

Java: Laufzeitausnahmen anzeigen – Variante

Mittwoch, 21. September 2011

Im Artikel „Java: Laufzeitausnahmen anzeigen“ steht, wie ich im AWT-EventDispatchThread nicht gefangene Ausnahmen mit einem Dialog anzeige. Inzwischen verfolge ich eine weniger „aufdringliche“ Variante, die nicht von der Arbeit ablenkt oder das Schließen des Programmfensters verhindert, falls im EventDispatchThread laufend neue Ausnahmen geworfen und nicht gefangen werden:
(mehr …)

Modulare Java-Programmierung via Services

Montag, 25. Juli 2011

Eine umfangreichere Anwendung ist unübersichtlich, schwierig zu „pflegen“ und erweitern, falls ich sie in einem einzigen JAR unterbringe. Teile ich sie auf in mehrere Projekte und jedes Projekt ergibt ein JAR, ist dies besser. Die Abhängigkeiten der Projekte untereinander sollten minimal sein (eine Klasse des Projekts X sollte nicht nach einer Klasse des Projekts Y verlangen).
(mehr …)