Folgend eine Auflistung von Konstanten, die für Änderungen am Look & Feel zuständig sind. Diese Informationen liegen in der Swing API nicht gerade offen herum. Deswegen habe ich sie hier einmal aufgeschrieben.
UIManager.put("TextField.inactiveForeground", Color.black);
UIManager.put("ComboBox.disabledForeground", Color.black);
UIManager.put("Label.disabledForeground", Color.black);
UIManager.put("CheckBox.foreground", Color.black);
UIManager.put("Checkbox.select", Color.black);
UIManager.put("TextArea.inactiveForeground", Color.black);
Per Default neigt die ScrollPane zu einer gewissen Langsamkeit. Um ihr auf die Sprünge zu helfen reicht i.d.R.
scrollPane.getViewport().setScrollMode(JViewport.BLIT_SCROLL_MODE);
oder das Erhöhen des Unit-Inkrements
contentPanel.getVerticalScrollBar().setUnitIncrement(10);
Swing Anwendungen, wenn sie denn 'richtig' implementiert sind, verwenden in der Regel mehr als einen Thread. Java bietet die Möglichkeit, allen Threads einen sogenannten UncaughtExceptionHandler mitzugeben. Damit hätte die Anwendung eine zentrale Anlaufstelle für Exceptions.
private void handleUncaughtExceptions() {
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) {
e.printStackTrace();
showErrorDialog(e);
}
});
}
Zusätzlich kann man (oder muss man vielleicht sogar) die Eigenschaft
System.setProperty("sun.awt.exception.handler", "com.ab.abcde.ExceptionHandler");
setzen. Die Klasse ExceptionHandler muss nur eine Methode definieren:
public void handle(Throwable e)