import java.awt.*;
import java.awt.event.*;public class layoutflow extends Frame
{
layoutflow()
{
super("Frame with FlowLayout");
setLayout(new FlowLayout());
setBackground(Color.green);
setVisible(true);
add(new Button("button 01"));
add(new Button("button 02"));
add(new Button("button 03"));
add(new Button("button 04"));
add(new Button("button 05"));

pack();
addWindowListener(
new WindowAdapter(){
public void WindowClosing (WindowEvent e){
setVisible(false);
System.exit(0);}});
}

public static void main(String args[])
{
layoutflow frm=new layoutflow();
}
}  为什么这个程序无法退出,即点击“×”无法关闭程序

解决方案 »

  1.   

    要添加setDefaultCloseOption(JFrame.EXIT_ON_CLOSE);
      

  2.   

    我是照书上敲上来的,上面的解释说可以关闭,整个程序偶都是照抄过来的,调试之后,就发现无法关闭???是不是因为JDK版本的问题,为什么要加这个呢?
      

  3.   

    要添加setDefaultCloseOption(JFrame.EXIT_ON_CLOSE);
    ------------------------------------------------------
    加这个,是关闭程序.因为JAVA窗体默认关闭是隐藏窗口,没有真正退出程序.
      

  4.   

    addWindowListener(
    new WindowAdapter(){
    public void windowClosing (WindowEvent e){
    setVisible(false);
    System.exit(0);}});addWindowListener(
    new WindowAdapter(){
    public void windowClosing (WindowEvent e){
    setVisible(false);
    System.exit(0);}});是大小写问题.是windowClosing方法首字母小写.类名首字母大写.
      

  5.   

    你的程序没问题,但是你太马虎了.
    addWindowListener(
    new WindowAdapter(){
    public void WindowClosing (WindowEvent e){
    setVisible(false);
    System.exit(0);}});中的WindowClosing()方法错误,应该是小写字母开头.
    addWindowListener(
    new WindowAdapter(){
    public void windowClosing (WindowEvent e){
    setVisible(false);
    System.exit(0);}});
    这样就没问题了,另外建议类名首字母大写.
      

  6.   

    根本不是setDefaultCloseOperation的问题,他这里用的是awt不是swing,用事件监听器也是可以的,不过比较麻烦,用javax.swing会更简单