【发布时间】:2011-03-12 07:26:08
【问题描述】:
我正在使用 AWT 创建一个小型应用程序。当我尝试关闭窗口时,“关闭”按钮不起作用。
这是我的代码:
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");
}
}
如何修复“关闭”按钮?
【问题讨论】:
-
试着把 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);在你的程序中。
-
@Umesh,请将您的评论作为答案,以便我们为您投票。毕竟这是正确的答案。
-
@krock:是吗?即使他没有使用 JFrame,因此该方法对他的框架不可用?
-
@user:您的代码对我来说很好用。单击关闭窗口图标将终止程序。如果有问题,我怀疑它不在您共享的代码中。
-
原源为什么要导入java.applet类? System.exit(n) 不能在 applet 中调用,也不能在 applet 启动的任何框架中调用。