2009-05-08 3 views
5

Ich habe eine Anwendung erstellt, die eine Symbolleiste, Menüleiste und Inhaltsbereich hat. Ich habe das Menü und die Werkzeugleiste zum Anwendungsfenster hinzugefügt, aber ich bleibe bei der Anzeige des Bedienfelds im Inhaltsbereich basierend auf der Schaltflächenaktion (wie Hinzufügen, Anzeigen), die über die Symbolleiste angeklickt wird. Ist das ein richtiger Weg? Gibt es einen besseren Weg, dies zu tun?Wie wechsle ich die Panels in einem Frame abhängig von einer Tastenaktion?

Antwort

12

Wenn ich richtig verstehe, wollen Sie mehrere haben JPanels, von denen nur eine zu einem Zeitpunkt gezeigt wird? Wenn das der Fall ist, klingt es wie ein CardLayout ist, was Sie brauchen. Sie im Grunde add alle Ihre JPanels dazu mit eindeutigen Namen, und dann können Sie die CardLayout welche von ihnen zu show sagen.

+0

danke, das klingt nach einer guten Idee und ich werde es versuchen. Ich habe nie darüber nachgedacht, ich habe versucht, eine Jpanal-Variable zu einem Inhaltsbereich Bereich zuweisen und ändern Sie dann den Wert der Jpanel-Variable auf der Grundlage der Taste gedrückt. – ranendra

3

Ich denke, CardLayout ist wahrscheinlich das, was Sie wollen, aber wenn etwas wie Speichernutzung ein Problem ist und Sie wirklich eine neue JPanel/Komponente entfernen möchten, müssen Sie die alte JPanel entfernen und die neue hinzufügen (mit richtige Einschränkungen und/oder Index je nach Layout). Sie müssen das Inhaltsfenster validieren(), nachdem Sie den Wechsel vorgenommen haben.

Verwandte Themen