Java

Look And Feel auswählen

Auf der Kommandozeile kann einer Swing-Anwendung mitgegeben werden, welche Look And Feel-Definition genutzt werden soll:

java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel

Quelle: Sun Java Tutorial

Java unter Debian bereitstellen

Hinweise zum Einrichten der Java-Umgebung unter Debian finden sich unter Making Java 2 work in Debian.

Alternativ kann die Anleitung unter Verwendung des Eintrags in der /etc/apt/sources.list

deb http://z42.de debian/
deb-src http://z42.de debian/

genutzt werden.

Log4J und JUnit - Class-Loader-Problem

Bei der Verwendung von log4j und JUnit kann es beim Einsatz des SwingUI.Testrunner zu Problemen mit dem Classloader kommen. Wird statt dessen der TextUI-Testrunner genutzt, bleibt der Fehler aus. Um dennoch die Swing-Oberfläche zu verwenden, kann auf der Kommandozeile die Option -Dlog4j.ignoreTCL=true dafür sorgen, dass der Classloader für die JUnit-Klasse auch für die Log4J-Klassen benutzt wird:

java -Dlog4j.ignoreTCL=true junit.swingui.TestRunner

Singleton- oder Fabrikklasse

public class SimpleSingleton {
  // Create the single instance, make it available statically, and
  // don't let it be redefined.

  private static final SimpleSingleton instance = new SimpleSingleton();

  // Allow subclasses to override the constructor, if necessary.

  protected SimpleSingleton() {
    // Whatever...
  }
  // Accessor only.

  public static SimpleSingleton getInstance() {
    return instance;
  }

  // Methods on the object to actually do something useful.
  public void doSomething() {
    // Whatever
  }
}

Quelle:

Maven

Ein Projekt beginnen

mvn archetype:create -DgroupId=com.company.app -DartifactId=my-app

Anwendungssymbol aus der JAR-Datei

Bei der Verteilung einer Anwendung kann im Java-Archiv (JAR) das Anwendungssymbol enthalten sein. Um darauf zugreifen zu können, sind folgende Zeilen notwendig:

java.net.URL imageURL = getClass().getResource("/appicon.png");
if (imageURL != null) setIconImage((new ImageIcon(imageURL)).getImage());
else logger.error("Laden des Icons aus " + imageURL + " funktioniert nicht.");

Der Aufruf setIconImage muss als Methode des entsprechenden Frames erfolgen. Die Grafikdatei liegt in der obersten Ebene der JAR-Datei.

Java-Anwendung zur einfachen Ausführung verpacken

Die Anwendung wird in einem Java-Archiv (JAR-Datei) verpackt, zugleich wird die Information mitgegeben, mit welcher Klasse die Anwendung gestartet wird.

Datei additionalManifestData

Main-Class: de.ewus.primgeb.Primgeb

Programmaufruf für jar

Die Datei archiv.jar wird mit dem folgenden Aufruf erstellt. Das de am Ende steht für das oberste Verzeichnis der Programmklassen.

jar cvfm archiv.jar additionalManifestData de

SWT-Bibliothek bekannt geben [Eclipse IDE]

In den Projekteigenschaften (Project, Properties) wird in den Einstellungen unter Java Build Path und Libraries eine neue Variable (Add Variable...) hinzugefügt. Im Dialog muss ECLIPSE_HOME gewählt werden. Durch die Schaltfläche Extend kann unter plugins die entsprechende SWT-Bibliothek ausgewählt werden.

Java-Anwendung beobachten

Eine Anwendung kann über die JMX-Konsole beobachtet werden. Das Programm gibt Auskunft über den Speicherverbrauch und die Thread-Verteilung.

Aufrufen der Java-Anwendung

java -Dcom.sun.management.jmxremote -jar myapp.jar

Anschließend kann die Anwendung jconsole gestartet werden und sich mit der zu beobachtenden Anwendung verbinden.

Weitere Informationen finden sich auf der Oracle (vormals SUN) Seite.

Inhalt abgleichen