Slyh: Probleme mit Tabbed Pane

Beitrag lesen

Hallo,

Schaut jetzt VIEL besser aus; zumindest problem 2) is damit gelöst. der hintergrund von den tabs ist jetzt auch nicht mehr weiß, allerdings dunkelgrau (selbes grau wie bei nicht-aktiven Tabs).

Lieber wäre mir hellgrau - wenn du noch einen Tipp hast..?! Aber sonst auch egal, passt schon.

Der ContentPane ist ein Container. Und der hat eine Methode
setBackground().

Ich würde aber davon abraten, einfach blind irgendwelche Farben
fest zu setzen, da du nicht weißt welches Farbschema der Benutzer
verwendet oder wie sich die Look&Feels in Java weiterentwickeln
werden. (Das Crossplatform-L&F, das du ja verwendest, sieht in
Java 1.5 bspw. ganz anders aus...)

Besser wäre wohl, wenn du dir eine passende Farbe aus dem UIManager
(Package "javax.swing") holst. Der hat eine Methode "getColor", der
du als Parameter einen der generischen Farbnamen mitgibst.
Diese mögliche Farbnamen kannst du über die UIDefault-Klasse
ermitteln. Die ist von Hashtable abgeleitet, du kannst also alle
möglichen Keys ermitteln. Die UIDefault-Klasse erhälst du durch
Aufruf der Methode "UIManager.getDefaults()".
Das Java-Buch deiner Wahl wird dir die Hintergründe genauer erklären
können.

Diese setze ich mit

myButton.setPreferredSize(new java.awt.Dimension(85,25));

Das solltest du nicht tun. Der Button weiß sehr genau, wie groß
er am liebsten wäre. Der verwendete Layoutmanager entscheidet dann,
wie groß der Button letztendlich wird.
(Die meisten Layoutmanager ignorieren die PreferredSize in vielen
Fällen sowieso...)

Liegts ev. daran, dass "Neu..." nicht soviele Buchstaben hat wie "Ändern..."?! Aber die Buttongröße müsste ich doch trotzdem beliebig wählen können?
Die Buttons habe ich übrigens in einem Box-Y-Layout Panel eingebunden, dessen Breite ich mit 90 angegeben habe.

Laut JavaDoc vom BoxLayout sollten alle Komponenten gleich groß --
nämlich so groß wie die größte Komponente -- gesetzt werden.
Vielleicht ist es keine gute Idee die Breite des Panels irgendwie
zu begrenzen. Wie gesagt, der Layoutmanager weiß schon, was er tun
sollte.
(Verwende immer Layoutmanager. Positioniere Komponenten nie absolut.)

Gruß
Slyh