Swing JTabbedPane Was für ein Border wird da um die Tabs gezeichnet?

  • Themenstarter Themenstarter Gast2
  • Beginndatum Beginndatum
G

Gast2

Gast
Hallo ich habe zwar zu dem Thema einiges an Farbdefinitionen gefunden aber keine zufriedenstellende Erklärung was genau für ein Border da denn jetzt um die Tabs gezeichnet wird.

Der Grund ist, ich habe daneben andere Panels, welchen ich gerne den selben Border verpassen würde. Bekomms aber einfach nicht raus den JTabbedPane Border zu duplizieren. Habe auch beim stöbern durch den SourceCode nicht gefunden was für ein Border da verwendet wird.

Ich hoffe jemand kann mir dabei helfen.

Anbei noch ein Bild welche Border ich meine.
 

Anhänge

  • beispiel.jpg
    beispiel.jpg
    15,2 KB · Aufrufe: 43
Hallo,

ich hätte jetzt mal auf die schnelle gesagt: Schau mal im Source-Code nach "\javax\swing\plaf\metal\MetalTabbedPaneUI.java".
Aber was für ein L&F verwendest du den da?

Falls daß Nimbus ist, findest du den Code unter "\com\sun\java\swing\plaf\nimbus".

MfG
hansmueller
 
... Habe auch beim stöbern durch den SourceCode nicht gefunden was für ein Border da verwendet wird...

Hallo,

ich hätte jetzt mal auf die schnelle gesagt: Schau mal im Source-Code nach "\javax\swing\plaf\metal\MetalTabbedPaneUI.java".
Aber was für ein L&F verwendest du den da?

Falls daß Nimbus ist, findest du den Code unter "\com\sun\java\swing\plaf\nimbus".

MfG
hansmueller

Hab doch gesagt ich finde im Source Code nichts eindeutiges.
Die LaF regeln ja im übrigen nur die Darstellung. Der Typ der Rahmen müsste ja unabhängig vom LaF sein.
 
Hallo,

wenn du sowas wie eine Klasse Border bzw. BorderFactory suchst, die wirst du da glaube ich nirgendswo finden. Die Rahmen werden im L&F meist alle händisch gezeichnet.

kappesf hat gesagt.:
Der Typ der Rahmen müsste ja unabhängig vom LaF sein.
Nein. Je nachdem was für ein L&F verwendet wird, kann es auch sein, das ein Rahmen total fehlt. Das sieht man z. B. wenn man Metal mit Nimbus vergleicht.

Welchen Border meinst du den genau? Den nur für den Reiter oder den für die restliche Karte?

MfG
hansmueller
 
Hallo,

wie ich schon geschrieben habe werden die Rahmen alle händisch gemalt. Also über irgendwelche paint-Methoden.

Für Nimbus wären das glaube ich die Klasse TabbedPaneTabbedPaneTabPainter oder TabbedPaneTabbedPaneTabAreaPainter.

Bau dir halt einen eigenen Border. Nimm dazu z. B. den Quelltext vom MatteBorder (oder von einem anderen, der dir zusagt), hau alles heraus, was mit dem Icon zu tun hat (bei dem MatteBorder) und paß die Farben und vor allem die paintBorder-Methode an.
Wenn ich es auf dem Bild richtig sehe, dann besteht der Rahmen links und oben nur aus einer 1-Pixel-Linie. Nur der rechte und untere Rahmen bestehen jeweils aus zwei 1-Pixel-Linien. Allerdings sind diese in den Ecken um einen Pixel versetzt bzw. nicht gleich lang.

MfG
hansmueller
 
Hallo,

wie ich schon geschrieben habe werden die Rahmen alle händisch gemalt. Also über irgendwelche paint-Methoden.

Für Nimbus wären das glaube ich die Klasse TabbedPaneTabbedPaneTabPainter oder TabbedPaneTabbedPaneTabAreaPainter.

Bau dir halt einen eigenen Border. Nimm dazu z. B. den Quelltext vom MatteBorder (oder von einem anderen, der dir zusagt), hau alles heraus, was mit dem Icon zu tun hat (bei dem MatteBorder) und paß die Farben und vor allem die paintBorder-Methode an.
Wenn ich es auf dem Bild richtig sehe, dann besteht der Rahmen links und oben nur aus einer 1-Pixel-Linie. Nur der rechte und untere Rahmen bestehen jeweils aus zwei 1-Pixel-Linien. Allerdings sind diese in den Ecken um einen Pixel versetzt bzw. nicht gleich lang.

MfG
hansmueller

Ok Vielen Dank! Dachte halt das es da einen "fertigen" Border zum abgreifen gibt.

Mal sehen ob mir die Arbeit mache oder einfach doch etwas anderes verwende. Hat mir die Frage auf jeden Fall beantwortet!
 

Zurück
Oben