Frage

Dies ist vergleichbar mit der Frage: Wie ein Google-chrome-Tabs und menubar Schnittstelle in Java Swing bauen (ich will das gleiche erreichen), aber mehr auf den Punkt:? Wie kann ich Komponenten vor setzen und hinter den Registerkarten in einem JTabbedPane?

Ich habe schon kommen mit der Tasten-Idee selbst, aber ich habe lieber eine JTabbedPane haben, denn das ist wirklich das, was es ist, aber mit einem Knopf oder Symbolen auf den Seiten verziert.

Ich habe gesehen, dass das laf-Widget Projekt von Kirill so etwas wie es funktioniert (das Vergrößerungsglas Symbol links der Laschen) für mehrere LAFS. Allerdings muss ich zugeben, dass ich noch nicht gut genug versiert zu verstehen, wie er es tut - und auch wie es scheint, ein etwas kompliziertes Verfahren, wobei ein „physisch“ der LAF in Frage ändern (Bytecode manipuliert es), Einspritzen des laf -Widget Sachen in die UI Delegierten -. und ich weiß noch nicht, wie die JTabbedPane oder TabbedPaneUI moduliert tatsächlich das Symbol / Taste zu injizieren

War es hilfreich?

Lösung

Ich fragte schließlich Kirill von Substance LaF / laf-Widget, wie er es schafft einen Knopf vor den Registerkarten in dem LAF-Widget zu setzen, die JTabbedPanes, und dies ist seine Antwort ziert:

  

Es stützt sich auf die   BasicTabbedPaneUI.tabAreaInsets Feld   um Platz zu schaffen für die Schaltfläche, und   benutzerdefinierte setBounds der Schaltfläche   Komponente zu positionieren, dass sich   Bereich.

     

Für weitere Code finden TabOverviewButton   und TabOverviewDialogWidget Klassen in   das LAF-Widget-Projekt.

     

Im Allgemeinen ist die Registerteilfenster UI   Delegierten ist eine der am wenigsten   attraktivsten, da sie zu verbessern   hat eine Menge von privaten und Paket   geschützte Methoden

Danke, Kirill!

Andere Tipps

JIDE haben einen Registerteilfenster als Teil ihrer Komponenten-Suite, die diese Funktionalität so einfach setBeforeComponent aussetzt () und setAfterComponent () Methoden.

Es gibt eine Demo davon in hier: http://www.jidesoft.com /products/1.4/jide_demo.jnlp

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top