PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : JSpinner Hintergrundfarbe ändern?



fitzi
19-05-2005, 21:38
Hallo,

ich arbeite an einer Software, wo per JSpinner Geb.Daten erfasst werden. Wenn ein Geb.dat-Spinner disabled ist, soll der Hintergrund ausgegraut sein.

Ich habe nun den background, den disabledBackground, den inactiveBackground des Spinners auf grau gesetzt, die Anzweige bleibt aber weiß. Dann habe ich die drei Unterkomponenten des Spinners, oberer und untere Pfeil sowie Datumseditor eingefärbt, die Pfeile werden auch lustig bunt, das Datumsfeld bleibt weiterhin weiß! Per Zugriff auf alle FormattedTextFields kann ich sogar die Schriftfarbe im Spinner ändern (muss man erstmal drauf kommen) und auch deren diverse Backgrounds, aber die Hintergrundfarbe erreiche ich nicht.

Hat jemand einen Tip hierzu?

LG, Fitzi.

stargaizer
23-05-2005, 12:35
Hi das geht bei mir :) Ich hab 'ne Methode um mir das FormattedTextField geben zu lassen:

/**
* Return the formatted text field used by the editor, or
* null if the editor doesn't descend from JSpinner.DefaultEditor.
*/
JFormattedTextField getTextField(JSpinner spinner) {
JComponent editor = spinner.getEditor();
if (editor instanceof JSpinner.DefaultEditor) {
return ((JSpinner.DefaultEditor)editor).getTextField();
} else {
System.err.println("Unexpected editor type: "
+ spinner.getEditor().getClass()
+ " isn't a descendent of DefaultEditor");
return null;
}
} // END JFormattedTextField

und dann mit
getTextField(spinner).setBackground(Color.BLUE); die Hintergrundfarbe setzen.

Grüße

stargaizer