die Durchführung mehrerer Aktionen auf einen button in java swing
Ich versuche, erstellen einen Assistenten in java-swing Programm.
Auf die Assistent habe ich die Schaltfläche weiter, und es hat für die Ausführung mehrerer Aktionen nach dem panel wird angezeigt, auf der Assistenten.
Ist es möglich, java-Befehl Muster? darf ich wissen wie?
vielen Dank im Voraus.
den code, den ich verwendet für den Assistenten ist
this.mainPanel.add(fileSelectionPane,"SELECT FILE");
this.mainPanel.add(sqlConnectionPane,"SQL CONNECTION");
this.mainPanel.add(devicePane,"PARSER");
this.mainPanel.add(detailsPane,"DISPLAY");
thisLayout.show(this.mainPanel,"SELECT FILE");
this.finishButton.setEnabled(false);
this.backButton.setEnabled(false);
if(newValue==1) {
this.thisLayout.show(this.mainPanel, "SQL CONNECTION");
this.nextButton.setEnabled(true);
this.nextButton.setText("Connect..");
this.cancelButton.setEnabled(true);
this.backButton.setEnabled(true);
}
if(newValue==2) {
this.thisLayout.show(this.mainPanel, "PARSER");
this.nextButton.setEnabled(true);
this.nextButton.setText("Parse..");
this.cancelButton.setEnabled(true);
this.backButton.setEnabled(true);
}
möchte ich den weiter-button zum ausführen bestimmter Aktionen auf WÄHLEN Sie DATEI-und SQL-VERBINDUNG.
ist es möglich, verwenden Sie den Befehl Muster?
- Ist es nicht sinnvoller, dass die derzeitigen "Systemsteuerung", um zu entscheiden, welche Maßnahmen ergriffen werden müssen, dann eher den "weiter" - button??
- Aktualisieren Sie bitte Ihre Frage zu iso-posting-code in die Kommentare. Und werfen Sie einen Blick auf diesem Artikel, wenn Sie möchten, erstellen Sie eine Assistenten-mit Swing
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, so fügen Sie action-Listener zu Tasten. Diese Aktion Hörer etwas tut, wenn ein Ereignis Auftritt.
Sie möchten, ändern Sie die Funktionalität der Schaltfläche, je nachdem, welches panel angezeigt wird? Warum nicht eine Instanz-variable, welche den Zustand darstellt, der von den Assistenten?
Z.B. (grob),
int state = 0; //Startseite
ändern-panel zu Hilfe-Seite, Ereignis-listener Feuer setzen 'Staat' auf 1. Sie sind jetzt tracking, welches panel angezeigt wird.
Nun, in Ihrer ursprünglichen problem, wenn Sie die Taste (die, die Sie wollen mehrere Funktionalität mit) ausgelöst wird, können Sie wählen Sie die Aktion aus, die es dauern wird, basierend auf der 'state' var.
haben Blick auf CardLayout
diese Karten setzen, um die JDialog (
JDialog
hat preimplemented standardmäßig BorderLayout) an den CENTER-Bereicherstellen Sie eine neue JPanel und dort JButtons
JPanel
mitJButtons
zu setzen, um dieSOUTH
BereichSuche hier, auf diesem forum, es gibt ein paar exzellente Beispiele für Assistenten oder Bild previue basierend auf
CardLayout
versuchen Sie den folgenden code für den button: