Swing Titelleiste zweckentfremden

Kar

Mitglied
Guten Tag,

ist es möglich, soetwas:
unbenannt2pxz.png

nachzubasteln in Java?

Mir kommt grad nur die Möglichkeit in den Sinn, das Fenster 'undekoriert' anzeigen zu lassen und die Minimieren-, Maximieren- und Schließenbuttons selbst zu zeichnen.

Hat vielleicht jemand eine andere Idee?
 

slawaweis

Bekanntes Mitglied
ist es möglich, soetwas:
...
nachzubasteln in Java?
ja, es geht. Schon fertige Komponenten dafür kenne ich aber bis jetzt nicht.

Mir kommt grad nur die Möglichkeit in den Sinn, das Fenster 'undekoriert' anzeigen zu lassen und die Minimieren-, Maximieren- und Schließenbuttons selbst zu zeichnen.

Hat vielleicht jemand eine andere Idee?
das ist schon mal die richtige Richtung. Undekoriert braucht man es auf jeden Fall. Dann könnte man mit der JTabbedPane arbeiten bzw. diese um die Fensterbuttons erweitern. Leider ist es so, dass das Zeichnen der Tabs in Swing von dem jeweiligen PLAF übernommen wird, was eine ziemlich unpraktische Lösung ist. So muss man sich ein PLAF aussuchen und dort die TabbedPaneUI umschreiben.

Es geht aber billiger. Man erstellt sich ein JTabbedPane, wo 0x0 Pixel Panels drin sind, also nur die Tabs zu sehen sind. Die Fensterbuttons packt man in ein eigenes Panel und setzt es neben dem TabbedPane oben ins Fenster. In die Mitte kommt ein Panel mit einem CardLayout. Jetzt muss man nur noch die Tab-Events auf das zentrale Panel mit dem CardLayout abbilden und man hat seine "Tabs-on-Top", inklusive der Fensterbuttons.

Man muss aber nicht unbedingt JTabbedPane verwenden. Wenn man Zeit und eine kreative Ader hat, kann man sich auch ein eigenes Panel bauen, welches nur die Tabs (wie in Chrome) darstellt. Der Rest läuft über ein Panel mit einem CardLayout.

Slawa
 

Kar

Mitglied
Danke für die Antworten.

Drei Probleme muss ich noch aus den Weg räumen
- Verschieben des Fensters und Ändern der Größe.
- Aero-Style für die eigene Titelleiste.
 

slawaweis

Bekanntes Mitglied
Drei Probleme muss ich noch aus den Weg räumen
- Verschieben des Fensters und Ändern der Größe.
kann man sich eigentlich selber bauen, ist nicht kompliziert.

- Aero-Style für die eigene Titelleiste.
das ist komplizierter, besonders da es ein Designmerkmal ist. Man kann über Java2D Aero nachbilden oder über JNI direkt auf die Windows 7 Funktionen zugreifen. Doch letztendlich könnte es nur auf Windows 7 laufen, andernfalls besteht die Gefahr von Microsoft angemahnt zu werden, wegen Designklau.

Slawa
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Titelleiste soll Pfad ausgeben AWT, Swing, JavaFX & SWT 16
C Swing In der Titelleiste den Namen und den vollständigen Pfad bzw URL des aktuellen Dokuments anzeigen AWT, Swing, JavaFX & SWT 25
P JFrame schrumpft bei Doppelklick auf die Titelleiste AWT, Swing, JavaFX & SWT 0
llabusch Titelleiste Dokumentenname und Pfad/URL anzeigen AWT, Swing, JavaFX & SWT 2
C JFrame ohne Titelleiste, aber mit Borders AWT, Swing, JavaFX & SWT 2
kodela Swing Icon in der Titelleiste "festnageln" AWT, Swing, JavaFX & SWT 6
F Titelleiste von JDialog ausblenden mit Synthetica L&F AWT, Swing, JavaFX & SWT 2
S Swing JInternalFrame: Titelleiste entfernen AWT, Swing, JavaFX & SWT 5
hdi JFrame Titelleiste anpassen & setDefaultCloseOperation() AWT, Swing, JavaFX & SWT 3
janrode Schmale Titelleiste für JDialog AWT, Swing, JavaFX & SWT 3
G Sonderzeichen auf Titelleiste AWT, Swing, JavaFX & SWT 7
K Titelleiste ihrer Funktionen berauben AWT, Swing, JavaFX & SWT 6
G JFrame Titelleiste AWT, Swing, JavaFX & SWT 2
G Dialog ohne Titelleiste AWT, Swing, JavaFX & SWT 8
G Uhrzeit in der Titelleiste eines Fensters anzeigen? AWT, Swing, JavaFX & SWT 9
J Problem mit eigener Titelleiste und MouseMotionListener AWT, Swing, JavaFX & SWT 2
M JDialog ohne Titelleiste AWT, Swing, JavaFX & SWT 2
welterde Menü in der Titelleiste des JInternalFrame AWT, Swing, JavaFX & SWT 4
T JDialog - Titelleiste immer aktiv lassen AWT, Swing, JavaFX & SWT 4
L Hilfebutton in Titelleiste oder gute Alternative AWT, Swing, JavaFX & SWT 2
T JFrame - eigene Titelleiste AWT, Swing, JavaFX & SWT 8
M Frame ohne Titelleiste AWT, Swing, JavaFX & SWT 6
C Icon in der Titelleiste und Taskbar AWT, Swing, JavaFX & SWT 2
S Titelleiste ändern AWT, Swing, JavaFX & SWT 12
A Titelleiste entfernen AWT, Swing, JavaFX & SWT 4
T JInternalFrame ohne Titelleiste AWT, Swing, JavaFX & SWT 2
D Fenster ohne Titelleiste AWT, Swing, JavaFX & SWT 2
C Höhe der Titelleiste in JInternalFrame AWT, Swing, JavaFX & SWT 4
G Icon in der Titelleiste von JDialog setzen AWT, Swing, JavaFX & SWT 11
bummerland Fenster ohne Buttons ín der Titelleiste AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben