public static void main(String[] args) {
final JFrame frame = new JFrame();
JPanel panel = new JPanel();
//WindowListener
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
closeAction(frame);
}
});
JButton button = new JButton("close");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
closeAction(frame);
}
});
panel.add(new JLabel("WindowListener Demo"));
panel.add(button);
frame.add(panel);
frame.pack();
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private static void closeAction(Window parent) {
int choice = JOptionPane.showConfirmDialog(parent,
"Programm wirklich beenden?", "Programm schließen",
JOptionPane.YES_NO_OPTION);
if (choice == JOptionPane.YES_OPTION) {
parent.dispose();
}
}
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
//hier reagieren
}
});
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
fenster = new JFrame("Überschrift");
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Oder willst du dann einfach nur dass das Programm schließt?