Frage

Ich versuche zur Zeit eine wachsende Platte in Swing zu bauen (ähnlich den Expander Kontrolle des WPF) und ich mag die üblichen Methoden halten für sie zu manipulieren (i. E. setLayout, add, etc.). Nur sollten sie auf eine eingebettete Platte verlegt werden (die eine ein- oder ausgeblendet werden).

Wie würde man das tun? jede Methode von JComponent Aufschalten und Re-Routing, das zu einem eingebetteten JPanel wäre umständlich, aber das ist der einzige Weg, wie ich sehe.

Oder sollte ich lieber die eingebettete Platte nach außen und Kraft Benutzer sichtbar machen, anstatt etwas wie ExpanderPanel.getInnerPanel() zu verwenden. Aber dann ist es kein Drop-in-Ersatz für JPanel was ich denke, wäre schön zu haben.

War es hilfreich?

Lösung

1.5 (ish) Schwingen geroutet ein paar Methoden zur Inhaltsfenster in JFrame, JApplet usw. Während für diejenigen, es erschienen einige Usability-Vorteile zu sein, gerade erst anfangen, ist es nicht wirklich das Problem zu beheben. So hat jeder mit einem sehr seltsam verhaltenden API befassen. Also mein Rat ist, diesen Ansatz zu vermeiden.

Andere Tipps

Werfen Sie einen Blick auf die JXTaskPane SwingX Projekt. Es ist bereits das tut, was Sie brauchen.

Wenn Sie einen Container-Widget haben, die eine Platte halten Sie wollen zeigen und verstecken, warum nicht Layout Ihre Innenplatte, wie Sie wollen, dann fügen Sie es den Container-Panel, dann statische Methoden gegen den Container verwenden zu sagen

JPanel p = new JPanel (); // Etwas mit dem JPanel ...

ContainerWidget.setContent (p);

ContainerWidget.expandPanel (p, true);

möchten uns an dieser Arbeit somethign?

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