import javawt.*; 
import javawt.event.*; 
class AWT4 extends WindowAdapter implements ActionListener,WindowListener 

Frame f=new Frame("模拟面板3号实验品"); 
MenuBar mb; 
Menu mf,me,mh,ms; 
CheckboxMenuItem cm1; 
Panel p1,p2; 
String a[]={"1","2","3","4","5","6","7","8","9","*","0","#"}; 
Button b[]; 
TextField tf=new TextField(50); public void setMenuBar() 

mf=new Menu("文件(F)"); 
me=new Menu("编辑(E)"); 
mh=new Menu("帮助(H)"); 
ms=new Menu("菜单栏示范"); 
mb.add(mf); 
mb.add(me); 
mb.add(mh); 
mb.add(ms); 
mf.add(new MenuItem("打开")); 
mf.add(new MenuItem("保存")); 
mf.add(new MenuItem("关闭")); 
mf.add(new CheckboxMenuItem("我是NB",true)); 
mf.add(new CheckboxMenuItem("我不是NB")); 

public void listenter() 

f.addWindowListener(this); 
mf.addActionListener(this); 
me.addActionListener(this); 
mh.addActionListener(this); 
ms.addActionListener(this); 
} public void windowClosing(WindowEvent e) 

System.exit(0); 

public void actionPerformed(ActionEvent e) 

if(e.getActionCommand()=="打开") 
tf.setText("已经打开"); 
if(e.getActionCommand()=="保存") 
tf.setText("已经保存"); 
if(e.getActionCommand()=="关闭") 
System.exit(0); 

public void display() 

f.setSize(480,360); 
f.setMenuBar(mb); 
f.setLayout(new FlowLayout()); 
p1=new Panel(); 
p1.add(tf); 
p2=new Panel(); 
p2.setLayout(new GridLayout(4,3,5,5)); 
for(int i=0;i { 
Button b[]=new Button[a.length]; 
p2.add(b[i]); 
} f.setVisible(true); 
}
public static void main(String arg[]) 

(new AWT4()).display(); 
} }

解决方案 »

  1.   

    你这是完整代码吗?for(int i=0;i {  
    Button b[]=new Button[a.length];  
    p2.add(b[i]);  
    }  
    ??
    Button b[]=new Button[a.length];
    for(int i=0;i<a.length;i++) {  
    b[i]=new Button(a[i]);
    p2.add(b[i]);  
    }Menu没添加到MenuBar里面 
    p1 p2没添见到frame里面 感觉好乱啊 
    frame单独写个类
    panel单独写个类
      

  2.   

    debug模式,一步一步走走看看,很快能找到问题
      

  3.   

    for(int i=0;i { 
    Button b[]=new Button[a.length]; 
    p2.add(b[i]); 
    } 觉得这部分有问题,你可以测试一下.
      

  4.   

    import javawt.*;  
    import javawt.event.*;  
    class AWT4 extends WindowAdapter implements ActionListener,WindowListener  
    {  
    Frame f=new Frame("模拟面板3号实验品");  
    MenuBar mb;  
    Menu mf,me,mh,ms;  
    CheckboxMenuItem cm1;  
    Panel p1,p2;  
    String a[]={"1","2","3","4","5","6","7","8","9","*","0","#"};  
    Button b[];  
    TextField tf=new TextField(50);  public void setMenuBar()  
    {  
    mf=new Menu("文件(F)");  
    me=new Menu("编辑(E)");  
    mh=new Menu("帮助(H)");  
    ms=new Menu("菜单栏示范");  
    mb.add(mf);  
    mb.add(me);  
    mb.add(mh);  
    mb.add(ms);  
    mf.add(new MenuItem("打开"));  
    mf.add(new MenuItem("保存"));  
    mf.add(new MenuItem("关闭"));  
    mf.add(new CheckboxMenuItem("我是NB",true));  
    mf.add(new CheckboxMenuItem("我不是NB"));  
    }  
    public void listenter()  
    {  
    f.addWindowListener(this);  
    mf.addActionListener(this);  
    me.addActionListener(this);  
    mh.addActionListener(this);  
    ms.addActionListener(this);  
    }  public void windowClosing(WindowEvent e)  
    {  
    System.exit(0);  
    }  
    public void actionPerformed(ActionEvent e)  
    {  
    if(e.getActionCommand()=="打开")  
    tf.setText("已经打开");  
    if(e.getActionCommand()=="保存")  
    tf.setText("已经保存");  
    if(e.getActionCommand()=="关闭")  
    System.exit(0);  
    }  
    public void display()  
    {  
    f.setSize(480,360);  
    f.setMenuBar(mb);  
    f.setLayout(new FlowLayout());  
    p1=new Panel();  
    p1.add(tf);  
    p2=new Panel();  
    p2.setLayout(new GridLayout(4,3,5,5));  
    for(int i=0; i<a.length;i++)
    {
    Button b[]=new Button[a.length];  
    p2.add(b[i]);  
    }  f.setVisible(true);  

    public static void main(String arg[])  
    {  
    (new AWT4()).display();  
    }  } 更改后的代码!  急求
      

  5.   

    这样改,可以运行.但只有一个空白的窗口.
    import java.awt.Button;
    import java.awt.CheckboxMenuItem;
    import java.awt.FlowLayout;
    import java.awt.Frame;
    import java.awt.GridLayout;
    import java.awt.Menu;
    import java.awt.MenuBar;
    import java.awt.MenuItem;
    import java.awt.Panel;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;public class a extends WindowAdapter implements ActionListener, WindowListener {
    Frame f = new Frame("模拟面板3号实验品");
    MenuBar mb;
    Menu mf, me, mh, ms;
    CheckboxMenuItem cm1;
    Panel p1, p2;
    String a[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "0", "#" };
    Button b[];
    TextField tf = new TextField(50); public void setMenuBar() {
    mf = new Menu("文件(F)");
    me = new Menu("编辑(E)");
    mh = new Menu("帮助(H)");
    ms = new Menu("菜单栏示范");
    mb.add(mf);
    mb.add(me);
    mb.add(mh);
    mb.add(ms);
    mf.add(new MenuItem("打开"));
    mf.add(new MenuItem("保存"));
    mf.add(new MenuItem("关闭"));
    mf.add(new CheckboxMenuItem("我是NB", true));
    mf.add(new CheckboxMenuItem("我不是NB"));
    } public void listenter() {
    f.addWindowListener(this);
    mf.addActionListener(this);
    me.addActionListener(this);
    mh.addActionListener(this);
    ms.addActionListener(this);
    } public void windowClosing(WindowEvent e) {
    System.exit(0);
    } public void actionPerformed(ActionEvent e) {
    if (e.getActionCommand() == "打开")
    tf.setText("已经打开");
    if (e.getActionCommand() == "保存")
    tf.setText("已经保存");
    if (e.getActionCommand() == "关闭")
    System.exit(0);
    } public void display() {
    f.setSize(480, 360);
    f.setMenuBar(mb);
    f.setLayout(new FlowLayout());
    p1 = new Panel();
    p1.add(tf);
    p2 = new Panel();
    p2.setLayout(new GridLayout(4, 3, 5, 5));
    Button b[] = new Button[a.length];
    for (int i = 0; i < a.length; i++) {
    b[i]=new Button(i+"");
    p2.add(b[i]);
    } f.setVisible(true);
    } public static void main(String arg[]) {
    (new a()).display();
    }}