点一个按钮,显示的分派一个指定的事件给系统。
下面是一个例子,当点击close按钮时,分派一个new WindowEvent(this,WindowEvent.WINDOW_CLOSING)事件给系统,以关闭整个窗口。
/*
通过dispatchEvent(WindowEvent)来显示关闭窗口
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameTest extends JFrame implements ActionListener
{
private JButton close;
public FrameTest()
{
super("关闭窗口");
Container c=getContentPane();
c.setLayout(new FlowLayout());
close=new JButton("关闭");
close.addActionListener(this);
this.add(close);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,300);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Object obj=e.getSource();
if(obj==close)
{
WindowEvent event=new WindowEvent(this,WindowEvent.WINDOW_CLOSING);
//下面两种方式都可以
this.dispatchEvent(event);
//Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(event);
}
}
public static void main(String[] args)
{
new FrameTest();
}
}