I am creating a small application using AWT. When I try to close the window, the "close" button doesn't work.
Here's my code:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
class ButtonDemo1 implements ActionListener {
Button b1;
TextField tf;
Frame f;
ButtonDemo1(String s) {
f = new Frame(s);
b1 = new Button("OK");
tf = new TextField(10);
f.setSize(200, 250);
f.setVisible(true);
b1.addActionListener(this);
f.add(tf);
f.add(b1);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
f.setLayout(new FlowLayout());
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) {
tf.setText("Press Ok");
}
}
public static void main(String args[]) {
new ButtonDemo1("First");
}
}
How can I fix the "close" button?
You can close the frame programmatically by sending it the WINDOW_CLOSING event, like this: WindowEvent closingEvent = new WindowEvent(targetFrame, WindowEvent.
By using System. exit(0); you would close the entire process.
1 Answer. Show activity on this post. System. exit(0);
The first option which is the default is EXIT_ON_CLOSE which terminates the Java swing GUI program when you click the close button on the JFrame window. Another option is DISPOSE_ON_CLOSE which terminates JVM if the last displayable window is disposed of.
It's better to use the method public void dispose()
Why should you have to dispose() a java.awt.Window that goes out of scope?
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
dispose();
}
}
);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With