action-listener, um JDialog für angeklickte Schaltfläche

Habe ich Hauptanwendung, wo ist die Tabelle mit den Werten. Dann klicke ich auf "Hinzufügen" klicken, wird ein neues CUSTOM (ich habe es selbst) JDialog Typ "popup" kommt. Da kann ich Eingangswert, machen einige Zecken und klicken Sie auf "Bestätigen". So habe ich Lesen müssen, dass die Eingabe aus dialog, also kann ich diesen Wert hinzufügen, um die Tabelle im Hauptfenster der Anwendung.
Wie kann ich Zuhören, wenn die "bestätigen" - Taste gedrückt wird, so lese ich, dass es Wert danach?

addISDialog = new AddISDialog();
addISDialog.setVisible(true);
addISDialog.setLocationRelativeTo(null);
//somekind of listener...
//after "Confirm" button in dialog was pressed, get value
value = addISDialog.ISName;
  • Ich habe implementiert die listener-innen JDialog und ich kann hören button in diesem dialog, aber ich brauche zu hören, dass button außen dialog - in der main-Anwendung, wo ich angerufen, dass dialog
  • Bearbeiten können Sie die JDialog Klasse? Wenn dem so ist, könnte uns die ActionEvent zu einer anderen Klasse, die das ActionListener interface und die Klasse tun können, was Sie wollen.
  • Ich machte AddISDialog mich (public class AddISDialog extends JDialog implements ActionListener) also ja, ich kann es Bearbeiten. Was meinst du mit Weiterleitung ActionEvent an eine andere Klasse? Wie kann ich es tun?
  • Eine Möglichkeit dafür ist die Registrierung eines PropertyChangeListener zu den JDialog Instanz und haben die JDialog - Instanz verwenden Sie eine PropertyChangeSupport Instanz, die Feuer-Eigenschaft change-Ereignis, das angibt, dass der bestätigen-button gedrückt wurde.
  • "addieren Sie diesen Wert zur Tabelle" Sie können passieren die Tabelle Modell dem dialog im Konstruktor (oder implementieren Sie eine setModel() Methode in das benutzerdefinierte Dialogfeld). BTW - Für eine bessere Hilfe früher, nach einem SSCCE.
  • addISDialog.setLocationRelativeTo(null); sollte wohl so etwas wie addISDialog.setLocationRelativeTo(mainApplication);

Schreibe einen Kommentar