Jtabbedpane mit mehreren Klassen
Ich bin ziemlich neu in java und bin erstellen einer windowbuilder-Programm. Ich Frage mich, ob es möglich ist, wenn mit Jtabbedpane und das Umschalten zwischen den tabs in das Programm-Fenster, wenn ich einen actionlistener, um die Inhalte aus einer separaten Klasse. Zum Beispiel, ich habe ein Programm mit zwei tabs und zwei Klassen der ersten Registerkarte wird der code in eine Klasse und die zweite Registerkarte aus der zweiten Klasse.
Dank
- 1) Was haben Sie bis jetzt getan? 2) Mit windowbuilder Sie werden nie vollständig verstehen swing.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, trennen Sie Ihre code, der die GUI erstellt, auf die mehrere Klassen, können Sie diese Vorgehensweise:
Wäre dies die main-Klasse enthalten wird
JTabbedPane
:Wäre dies die zweite Klasse, die sich
JPanel
oder eine andere Art der container:Beispiel von der Dritten Klasse, die erstreckt sich auch
JPanel
:Screenshot:
EDIT:
Auch, statt der Verlängerung der Klassen mit
JPanel
ist, wäre es klug, um zu erstellen, nur eine Methode in dieser Klasse gibt individuelleJPanel
. Auf diese Weise Ihre Klasse ist immer "geöffnet" für die Vererbung.Stand:
Einen ActionListener funktionieren nicht, wenn Ihr Wunsch ist zu hören, für die änderung in der ausgewählten Registerkarte, da diese nur aktiviert wird, von den Kindern der Klasse AbstractButton. Stattdessen beachten Sie, dass ein JTabbedPane verwendet eine SingleSelectionModel als Modell, und Sie können hören für änderungen dieser mit ChangeListener. Die API-und Lernprogramme können helfen, füllen Sie die details.
Wenn auf der anderen Seite Fragen Sie sich, wenn Sie mit einem JButton/ActionListener innerhalb einer Komponente statt, die durch eine Registerkarte und die Aktionen, die zu änderungen in der anderen Komponente gehalten auf einer anderen Registerkarte, dann ist die Antwort sicherlich, auch wenn die beiden Ansichten erstellt werden, die durch verschiedene Klassen. Dies ist, wo der Betrachter oder Zuhörer design-Muster kommt zum Vorschein. Für details, geben weitere details zu Ihrem spezifischen problem.
Auch ich Stimme mit brano88 -- nicht mit einem window builder-Programm, bis Sie sehr vertraut sind und in der Tat gut verankert in den Grundlagen der Swing-Bibliothek.