So....
Ich hab mir mal möglichst wenig aufwand gemacht:
Kopiere das mal und führe es aus
[code=Java]
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileWriter;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class DialogUI {
private JTextField dialogText;
private JDialog _dialog;
private JButton button;
private FileWriter fw;
public DialogUI() {
_dialog = initDialog();
}
private JDialog initDialog() {
JDialog dialog = new JDialog((JFrame) null, "Eintragen", true);
JPanel panel = new JPanel(new BorderLayout());
button = new JButton("Bestaetigen");
button.addActionListener(new ButtonListener());
dialogText = new JTextField();
dialog.add(panel);
panel.add(dialogText, BorderLayout.NORTH);
panel.add(button, BorderLayout.SOUTH);
dialog.setBounds(300, 200, 300, 200);
dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
return dialog;
}
public JDialog getDialog() {
return _dialog;
}
public void setDialog(JDialog dialog) {
this._dialog = dialog;
}
public String getDialogText() {
return dialogText.getText();
}
public JTextField setDialogText(JTextField dialogText) {
return this.dialogText = dialogText;
}
class ButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("Bestaetigen")){
System.out.println("Hallo Welt");
}
}
}
public static void main(String[] args) {
new DialogUI();
}
}
[/code]
[TIPP]
1. Aussagekräftigere namen nutzen
2. wenn du schon von außen Listener setzen können wollen möchtest, dann musst du diese Funktionalität auch korrekt implementieren.
3. Ich habe hier den einfacheren weg über eine Innere Klasse gewählt welche das ActionListener Interface implementiert.
4. du hast zu viele überflüssige Methoden ........
5. Jede Klasse sollte eine Funktion erfüllen, ergo alles was da nicht rein gehört in Hilfsklassen auslagern, z.B das Schreiben der Daten
6. nutze shortcut returns für bessere übersichtlichkeit
[/TIPP]