有关JAVA Swing方面的问题
请看以下代码:
我将有疑问的地方用红色标记,请各位大虾不吝解答!
并且我也会注释一些代码,希望各位也能矫正!
public class FrameDemo extends Frame
{
public FrameDemo()
{
addWindowListener(new WinCloser());//我知道是添加一个监听器,但是括号里就不明白什么意思了
setLayout(new FlowLayout());
add(new Button("提交"));
add(new Button("取消"));
setTitle("红色实试验框");
setBounds(100,100,200,200);
setBackground(Color.red);
setVisible(true);
}
public static void main(String[] args)
{
FrameDemo fd=new FrameDemo();
}
}
class WinCloser extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
------解决方案--------------------
addWindowListener(new WinCloser()); //添加一个WindowListener,括号里是创建一个WinCloser类的实例,该类在下面定义,扩展自WindowAdapter,WindowAdapter实现了WindowFocusListener, WindowListener, WindowStateListener, EventListener等几个接口,而这里定义的public void windowClosing(WindowEvent e)对此方法进行了重写。所以这里的WindowListener就是新创建的这个WinCloser的实例。
setLayout(new FlowLayout()); //设置Frame的布局管理器为流式布局管理器
setVisible(true); //使该Frame可见。
都可以在API中查到。