Java Getriebe

Java und NetBeans

SecondaryLoop – Der saubere SwingWorker

Der Herr Ullenboom hat mich durch seinen Java-Blog auf ein interessantes Feature in Java 7 aufmerksam gemacht: java.awt.SecondaryLoop. Im Blogeintrag Hidden Java 7 Features – SecondaryLoop von Augusto Sellhorn 1 wird nett beschrieben, wie man nebenläufige Tasks für eine UI schreiben kann ohne den EDT zu blockieren und trotzdem seinen Quelltext „sauber“ zu halten.

Anwendungsfälle fallen mir beim meinen Programmen auf Anhieb einige ein, bei denen ich mit dem SwingWorker ein paar Klimmzüge veranstaltet habe.

Notes:

  1. Die Seite ist leider nur noch im Web-Archiv verfügbar

Java Scrapbook for NetBeans IDE – Geertjan’s Blog

Geertjan hat ein neues Plugin gebastelt: Java Scrapbook for NetBeans IDE. Quasi ein kleines „Notizbuch“ für Java Quelltexte mit der netten Fähigkeit diesen Quellcode auch ausführen zu können. Der Clou dabei ist, dass man dafür keine Klasse oder Methode schrieben muss, sondern einfach nur die gewünschten Anweisungen.

Das Feature kenne ich noch aus Eclipse Zeiten und habe es hin und wieder mal vermisst. Vielleicht schafft es das Plugin ja in die NetBeans IDE. Wäre cool.

Erweiterbare Java-Anwendungen programmieren » Elmars Notizen

Elmar Baumann hat einen sehr interessanten Artikel in seinem Blog veröffentlicht, wie man auch ohne RCP Framework eine erweiterbare Java Anwendung erstellen kann. Ich zitiere einfach mal den Anfang des Artikels:

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.

Leicht zu erweitern

Unter leicht zu erweitern verstehe ich:

  • Die Anwendung besteht aus verschiedenen Modulen. Jedes Modul erledigt Aufgaben einer bestimmten Kategorie.
  • Die Module hängen so wenig wie möglich voneinander ab. Abhängigkeit bedeutet: Wird ein Modul benutzt, sind ebenso alle anderen Module erforderlich, die das benutzte Modul benötigt, unabhängig davon, ob der Nutzer des Moduls diese auch verwendet.
  • Ein Modul definiert nur zu jenen Modulen Abhängigkeiten, die es benötigt, je weniger das sind, desto unabhängiger/eigenständiger ist es
  • Module hängen nicht gegenseitig voneinander ab
  • Die Module benutzen bevorzugen Schnittstellen (Interfaces) anstelle Implementierungen. So lässt sich eine Implementierung austauschen, ohne dass Code an anderen Stellen anzupassen ist und bis aufwändig zu implementierende Objekte fertiggestellt sind, können an deren Stelle Mock-Objekte (“Dummys”) benutzt werden.

Zum weiterlesen:

Erweiterbare Java-Anwendungen programmieren

via Erweiterbare Java-Anwendungen programmieren » Elmars Notizen.

Programmatically Restart a Java Application | Javalobby

Ein netter Artikel + Anleitung von Leo Lewis, wie man eine Java Anwendung neu startet:
Programmatically Restart a Java Application | Javalobby.

Das Problem hat man (wie auch im Artikel beschrieben) „öfters“, wenn man mit lokalisierten Benutzeroberflächen arbeitet und die Möglichkeit einbauen möchte die Sprache vom Benutzer ändern zu lassen.

Momentan habe ich das Problem, dass ich einen „Updater“ schreiben möchte. Auch hier benötige ich einen „restart“ der Anwendung.

Toni Epple: Vorbereitungen für JDK 7

Toni Epple hat für JAXenter einen (längeren) Artikel mit einer Zusammenfassung der Neuerungen in NetBeans 7.0 geschrieben.

Sein Fazit:

Insgesamt ist NetBeans 7.0 ein solides Update ohne spektakuläre Überraschungen. Das NetBeans-Team hat sich mit dem neuen Release auf die wesentlichen Eigenschaften einer Java-Entwicklungsumgebung konzentriert. Die IDE wurde erwartungsgemäß besser mit dem Oracle-Stack integriert und an aktuelle Versionen vieler verwendeter Tools und Bibliotheken angepasst. Die hervorragende Java EE-Unterstützung wurde verbessert und ausgeweitet. Die meiste Arbeit wurde aber in der Unterstützung der nächsten Version der JDK geleistet. Das ist eine notwendige Vorbereitung und praktisch zum Testen der neuesten Sprachfeatures und APIs. Einige kleine Verbesserungen, vor allem bei der Verwendung Unittests machen sich im täglichen Gebrauch schnell positiv bemerkbar. Unter den Neuentwicklungen ist vor allem die GIT-Unterstützung ein wichtiger Schritt vorwärts. Das neue Release ist damit vor allem eine praktische Verbesserung, die sich auf die tatsächlichen Kernaufgaben der IDE konzentriert und einiges an Verbesserungen für den alltäglichen Gebrauch mitbringt.