没错呀,这是正确结束程序的方法,使用的是匿名类,也可以这样写
class xxx extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{ System.exit(0); }
};
然后就可以用下面的代码了:
addWindowlistener(new xxx());
你用的是简洁型的,不过不太容易理解,我以前也没怎么搞懂.
class xxx extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{ System.exit(0); }
};
然后就可以用下面的代码了:
addWindowlistener(new xxx());
你用的是简洁型的,不过不太容易理解,我以前也没怎么搞懂.
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); }
});
是
frame.addWindowListener(new WindowAdapter()
L要大写啦
{
public void windowClosing(WindowEvent e){ System.exit(0); }
});
中的addWindowlistener中的L应该大写,java 是区分大小写呀。我调试过了,没问题。
结帐,走人了