So implementieren Sie eine Google-Chrome-ähnliche Titelleiste für die Java SWT-Anwendung

8

Ich habe die Entwicklung einer Java / SWT-Anwendung geerbt, die nur unter Windows ausgeführt wird. Eine der Feature-Anforderungen, die ich berücksichtigen muss, ist eine Titelleiste vom Typ Google-Chrome anstelle der SWT-Titelleiste. Die Registerkarten der Anwendung erscheinen auf derselben Ebene wie die Fenstersteuerschaltflächen.

Nach meinem Verständnis muss ich:

  • Schreiben Sie ein Windows-Widget, das das benutzerdefinierte Aussehen und die Verwaltung von Tabs im Gegensatz zu Menüs wiedergeben kann.
  • stellt das Windows-Widget als eine DLL zur Verwendung in Java über JNI bereit
  • Schreiben Sie ein benutzerdefiniertes SWT-Widget, um es zu umbrechen und die Registerkartenverwaltungsschnittstelle verfügbar zu machen.

Ich habe viel Erfahrung mit Java-Programmierung, GUI-Programmierung mit Swing / AWT und nicht-GUI C # -Programmierung. Windows-GUI-Programmierung und SWT sind neu für mich, deshalb bin ich mir nicht sicher, wo ich anfangen soll. Das Beste, was ich bis jetzt gefunden habe, ist ein Artikel aus dem Jahr 2001 über schreiben eigenes SWT-Widget .

Meine größte Unbekannte ist die beste Möglichkeit, ein benutzerdefiniertes Windows-Anwendungsfenster zu implementieren.

    
MartyC 27.10.2009, 18:42
quelle

3 Antworten

8

Sie können eine Shell-Instanz ohne TITLE-Flag erstellen und anschließend Google-Chrome-ähnliche Registerkarten manuell rendern. Auf diese Weise können Sie sogar ein nicht-rechteckige Fenster

erstellen     
Eugene Kuleshov 03.12.2009, 02:55
quelle
0

Ich empfehle, eine Shell ohne Trim wie folgt zu erstellen:

%Vor%

Dies würde eine Shell ohne die Titelleiste erstellen. Anschließend können Sie eigene Schaltflächen zum Schließen / Minimieren / Maximieren erstellen.

Hier ist ein Beispiel, das einen einzelnen Fortschrittsbalken ohne das Titelleistengeschäft hervorbringt.

%Vor%     
Leo Ufimtsev 18.12.2014 15:59
quelle