Java

Anwendungssymbol aus der JAR-Datei

Gespeichert von Erik Wegner am/um

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.

Singleton- oder Fabrikklasse

Gespeichert von Erik Wegner am/um
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:

Log4J und JUnit - Class-Loader-Problem

Gespeichert von Erik Wegner am/um

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