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.
Weiterlesen »

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:
Weiterlesen »

Quellcode auf Webseiten

Dienstag, 20. September 2011

Die Breite für Texte auf einer Webseite sollte beschränkt sein auf etwa 60 bis 70 Zeichen. Längere Zeilen sind schwieriger zu lesen: Der Beginn von Folgezeilen ist schwieriger zu finden. Quellcode von Computerprogrammen hat oft mehr Zeichen pro Zeile. In der Regel wird er eingebettet in <pre>-Blöcke, so bleibt seine Formatierung erhalten. Sollen Fließtext und Quellcode auf Webseiten gemischt werden und die Darstellungsfläche des Quellcodes soll nicht breiter werden als jene des Texts, geschieht das nach meinen Erfahrungen meistens auf folgende ungünstige Weisen:
Weiterlesen »

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).
Weiterlesen »

Ärgernisse mit Windows-Installationsprogrammen

Freitag, 29. April 2011

Start einer Liste. Im Idealfall ärgert ein Installationsprogramm nicht, in schlimmen Fällen treffen mehre Punkte zu. Unter “obligatorisch” verstehe ich, das Installationsprogramm führt etwas aus, ohne nachzufragen oder zu informieren.
Weiterlesen »