我想做一个按钮
package 学习2;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class 按钮 extends Frame{
public 按钮(){
super("maomaochong");
Label la1=new Label("毛毛虫");
la1.setBounds(100, 100, 50, 50);
Button jb1=new Button("这是一个按钮");
jb1.setBounds(50, 50, 10, 10);
Container winContainer=new Container();
winContainer.add(la1);
winContainer.add(jb1);
this.setSize(550,550);
this.setVisible(true);

}
}
public class csframe extends JFrame{ public static void main(String[] args) {

      按钮 anniu=new 按钮();     
}
}
为什么看不到效果啊 只有一个框架;应该怎样改啊

解决方案 »

  1.   

    帮你改了下,应该可以了,还有最好类名别用中文啊,汗class 按钮 extends Frame{
    public 按钮(){Label la1=new Label("毛毛虫");
    la1.setBounds(100, 100, 50, 50);
    Button jb1=new Button("这是一个按钮");
    jb1.setBounds(50, 50, 10, 10);
    Container winContainer=new Container();
    winContainer.add(la1);
    winContainer.add(jb1);
    this.setSize(550,550);
    this.setVisible(true);}
    }
    public class csframe extends JFrame{public static void main(String[] args) {    按钮 anniu=new 按钮();   
    }
    }
      

  2.   

    super("maomaochong");
    主要是这个用法不对,要设名字的话可以用下面这句
    this.setTitle("maomaochong");
      

  3.   

    能用中文,不过看上去不伦不类啊,比如你的类叫“按钮”,你完全可以写成"MyButton"
    java的一些命名规则最好自己做小程序玩的时候也遵守,这样以后才能养成习惯
      

  4.   

    super("maomaochong");
    主要是这个用法不对,要设名字的话可以用下面这句
    this.setTitle("maomaochong");还有一个方法就是不改这句,改你继承的类,把extends Frame改成extends JFrame
    因为Frame没有参数为String的构造方法
      

  5.   

    汗,我跑到自己的程序去了,下面改了下
    import java.awt.*;class 按钮 extends Frame {
        public 按钮() {
            this.setTitle("maomaochong");
            Label la1 = new Label("毛毛虫");
            la1.setBounds(100, 100, 50, 50);
            Button jb1 = new Button("这是一个按钮");
            jb1.setBounds(50, 50, 10, 10);
            this.getContentPane().add(la1);
            this.getContentPane().add(jb1);
            this.setSize(550, 550);
            this.setVisible(true);    }
    }public class csframe {    public static void main(String[] args) {        按钮 anniu = new 按钮();
        }
    }
      

  6.   

    我自己程序里有个Frame类,调用到那个去了,汗死class 按钮 extends Frame {
        public 按钮() {
           setTitle("maomaochong");
            Label la1 = new Label("毛毛虫");
            la1.setBounds(100, 100, 50, 50);
            Button jb1 = new Button("这是一个按钮");
            jb1.setBounds(50, 50, 10, 10);
            this.add(la1);
            this.add(jb1);
            this.setSize(550, 550);
            this.setVisible(true);    }
    }public class csframe {    public static void main(String[] args) {        按钮 anniu = new 按钮();
        }
    }
      

  7.   

    为什么用这个this.getContentPane().add(la1);
            this.getContentPane().add(jb1);
    会出错啊 。我先前也就是用上面的这个这个getContentPane()方法是不是别的类里面的啊
    怎么我这里这样用没有这个方法啊。是继承的父类不对吗?
      

  8.   

    非常感谢您的回答   好像出来了啊   最后还问您一下 add是frame里面的一个方法,是添加一个组件吗?
      

  9.   

    是的,不过我建议你以后去用javax.swing里面的控件,尽量别去用java.awt的控件
    swing里的控件基本都是J开头,比如Frame就变成JFrame了