没错呀,这是正确结束程序的方法,使用的是匿名类,也可以这样写
class xxx extends WindowAdapter
{
    public void windowClosing(WindowEvent e)
     { System.exit(0); }
};
然后就可以用下面的代码了:
addWindowlistener(new xxx());
你用的是简洁型的,不过不太容易理解,我以前也没怎么搞懂.

解决方案 »

  1.   

    适配器类,没有问题windowClosing事件是指在窗口关闭的时候处理的方法
      

  2.   

    我把整个代码贴出来吧.....你们帮我看看.....
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class GUIDemo4 extends JPanel
    {
         static JFrame frame;
         static String birdString="鸟";
         static String catString="猫";
         static String dogString="狗";
         static String rabbitString="兔";
         JLabel display;
         public GUIDemo4()
         { 
            JRadioButton birdButton=new JRadioButton(birdString);
            birdButton.setMnemonic(KeyEvent.VK_B);
            birdButton.setActionCommand(birdString);
            JRadioButton catButton=new JRadioButton(catString);
            catButton.setMnemonic(KeyEvent.VK_C);
            catButton.setActionCommand(catString);
            JRadioButton dogButton=new JRadioButton(dogString);
            dogButton.setMnemonic(KeyEvent.VK_D);
            dogButton.setActionCommand(dogString);
            JRadioButton rabbitButton=new JRadioButton(rabbitString);
            rabbitButton.setMnemonic(KeyEvent.VK_R);
            rabbitButton.setActionCommand(rabbitString); 
            
            ButtonGroup group=new ButtonGroup();
            group.add(birdButton);
            group.add(catButton);
            group.add(dogButton);
            group.add(rabbitButton);
        
            RadioListener myListener=new RadioListener();
            birdButton.addActionListener(myListener);
            catButton.addActionListener(myListener);
            dogButton.addActionListener(myListener);
            rabbitButton.addActionListener(myListener);   
            
            display=new JLabel("这是RadioButton的一个示例。");
            display.setPreferredSize(new Dimension(180,60));
            
            JPanel radioPanel=new JPanel();
            radioPanel.setLayout(new GridLayout(0,1));
            radioPanel.add(birdButton);
            radioPanel.add(catButton);
            radioPanel.add(dogButton);
            radioPanel.add(rabbitButton);
            
            setLayout(new BorderLayout());
            add(radioPanel,BorderLayout.WEST);
            add(display,BorderLayout.CENTER);
            setBorder(BorderFactory.createEmptyBorder(20,20,20,0));
         }
         
         class RadioListener implements ActionListener
         {
           public void actionPerformed(ActionEvent e)
           {
              display.setText("你选中了"+e.getActionCommand()+"。");
           }
         }
         public static void main(String s[])
         {
           frame=new JFrame("RadioButtonDemo");
           frame.addWindowlistener(new WindowAdapter( )
            {
               public void windowClosing(WindowEvent e){ System.exit(0); }
            });
           frame.getContentPane().add(new GUIDemo4(),BorderLayout.CENTER);
           frame.pack();
           frame.setVisible(true);
         }
    } 出错的地方就是
    frame.addWindowlistener(new WindowAdapter( )
            {
               public void windowClosing(WindowEvent e){ System.exit(0); }
            });
      

  3.   

    frame.addWindowlistener(new WindowAdapter( )

    frame.addWindowListener(new WindowAdapter()
    L要大写啦
      

  4.   

    frame.addWindowlistener(new WindowAdapter( )
            {
               public void windowClosing(WindowEvent e){ System.exit(0); }
            });
    中的addWindowlistener中的L应该大写,java 是区分大小写呀。我调试过了,没问题。
    结帐,走人了