java中如何关闭Frame窗口?
分三种情况来说明:
1. 用户类继承自Frame;
2. Frame对象作为用户类的数据成员;
3. 用户类继承自WindowAdapter.
1. 用户类继承自Frame:
代码如下:
import java.awt.*;
import java.awt.event.*;
public class MyFrame extends Frame
{
public void display()
{
this.setTitle("MyFrame");
this.setSize(480,200);
this.setLocation (200,400);
this.setBackground (Color.lightGray);
this.setVisible(true);
}
public static void main (String args[])
{
MyFrame f = new MyFrame();
f.addWindowListener(new WindowAdapter() //为了关闭窗口
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
f.display();
}
}
2. Frame对象作为用户类的数据成员:
代码如下:
import java.awt.*;
import java.awt.event.*;
public class MyFrame2
{
Frame f = new Frame();
MyFrame2()
{
f.addWindowListener(new WindowAdapter() //为了关闭窗口
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public void display()
{
f.setTitle("MyFrame");
f.setSize(480,200);
f.setLocation (200,400);
f.setBackground (Color.lightGray);
f.setVisible(true);
}
public static void main (String args[])
{
new MyFrame2().display();
}
}
3. 用户类继承自WindowAdapter,而窗口对象Frame作为用户类的数据成员.
代码如下:
import java.awt.*;
import java.awt.event.*;
public class MyFrame3 extends WindowAdapter
{
Frame f = new Frame();
public void display()
{
f.setTitle("MyFrame");
f.setSize(480,200);
f.setLocation (200,400);
f.setBackground (Color.lightGray);
f.addWindowListener (this); //窗体f--注册窗体事件监听器
f.setVisible(true);
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public static void main (String args[])
{
new MyFrame3().display();
}
}