import java.awt.event.*;
import javax.swing.*;
import java.awt.*; 
public class JModify{
public static void main(String args[]){
ButtonFrame b1=new   ButtonFrame("JAVA二级考试");
   }
}
class ButtonFrame extends Frame implements ActionListener{
Button button1;
Button button2; ButtonFrame(String s){
super(s);
setBackground(Color.blue);
setSize(200,100);
setLayout(new FlowLayout());
button1=new Button("确定");
add(button1);
button1.addActionListener(this);
button2=new Button("取消");
add(button2);
button2.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent event){
if(event.getActionCommand().equals("确定"))
System.out.println("确定");
else if(event.getActionCommand().equals("取消"))
System.out.println("取消");
else
System.out.println("重试");
}} 
这是原先的程序,我想加  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  使它可以关闭

解决方案 »

  1.   

    我觉得你只要把第二给类作为public 类就行了,把主函数写在那里面
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);这句写在ButtonFrame构造函数里
      

  2.   

    我试了你的程序(J2re 1.5),完全没有问题呀?我只加了以下三句:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;然后将文件保存为JModify.java。
      

  3.   

    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.*; 
    public class ButtonFrame extends Frame implements ActionListener{
    Button button1;
    Button button2; ButtonFrame(String s){
    super(s);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBackground(Color.blue);
    setSize(200,100);
    setLayout(new FlowLayout());
    button1=new Button("确定");
    add(button1);
    button1.addActionListener(this);
    button2=new Button("取消");
    add(button2);
    button2.addActionListener(this);
    setVisible(true);
    }
    public void actionPerformed(ActionEvent event){
    if(event.getActionCommand().equals("确定"))
    System.out.println("确定");
    else if(event.getActionCommand().equals("取消"))
    System.out.println("取消");
    else
    System.out.println("重试");
    }
    public static void main(String args[]){
    ButtonFrame b1=new   ButtonFrame("JAVA二级考试");
       }} ButtonFrame.java:10: cannot resolve symbol
    symbol  : method setDefaultCloseOperation (int)
    location: class ButtonFrame
                    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    ^
    1 error
      

  4.   

    lzmailcn(一年前的新手)谢谢了,可是我这里运行起来关不掉,你那里可以吗?
      

  5.   

    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.*; 
    public class ButtonFrame extends JFrame implements ActionListener{
    Button button1;
    Button button2; ButtonFrame(String s){
    super(s);
    setBackground(Color.blue);
    setSize(200,100);
    setLayout(new FlowLayout());
    button1=new Button("确定");
    add(button1);
    button1.addActionListener(this);
    button2=new Button("取消");
    add(button2);
    button2.addActionListener(this);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    }
    public void actionPerformed(ActionEvent event){
    if(event.getActionCommand().equals("确定"))
    System.out.println("确定");
    else if(event.getActionCommand().equals("取消"))
    System.out.println("取消");
    else
    System.out.println("重试");
    }
    public static void main(String args[]){
    ButtonFrame b1=new   ButtonFrame("JAVA二级考试");
       }} 编译能过,却不能运行
    Exception in thread "main" java.lang.Error: Do not use ButtonFrame.setLayout() u
    se ButtonFrame.getContentPane().setLayout() instead
            at javax.swing.JFrame.createRootPaneException(JFrame.java:465)
            at javax.swing.JFrame.setLayout(JFrame.java:531)
            at ButtonFrame.<init>(ButtonFrame.java:12)
            at ButtonFrame.main(ButtonFrame.java:31)
      

  6.   

    报错说的很清楚了啊
    用ButtonFrame.getContentPane().setLayout()
    来替代你代码中ButtonFramesetLayout()---ButtonFrame()构造函数中第五行
    同样用getContentPane().add()替代你的add()---ButtonFrame()构造函数中第九行
    我试了以后通过:-)
      

  7.   

    java 版的猩猩都冬眠去了吗?  就一些三角猫在这里胡说八道 ;(
      

  8.   


    java 版的猩猩都冬眠去了吗?  就一些三角猫在这里胡说八道 ;(