java中的菜单举例的代码:

import java.awt.*;
import java.awt.event.*;
class MenuTest extends Frame
{
PopuMenu pop;
public MenuTest()
{
super("Golf Caddy");
this.setSize(300,300);
this.add(new Label("choose club."),BorderLayout.NORTH );
//边界布局
Menu woods=new Menu("Woods");
woods.add(new MenuItem("1 W"));
woods.add(new MenuItem("3 W"));
woods.add(new MenuItem("5 W"));

Menu irons=new Menu("Irons");
irons.add(new MenuItem("3 iron"));
irons.add(new MenuItem("4 iron"));
irons.add(new MenuItem("5 iron"));
irons.add(new MenuItem("7 iron"));
irons.add(new MenuItem("8 iron"));
irons.add(new MenuItem("9 iron"));
irons.addSeparator();
irons.add(new MenuItem("PW"));
irons.insert(new MenuItem("6 iron"),3);//在3号索引处插上菜单项

MenuBar mb=new MenuBar();
mb.add(woods);
mb.add(irons);
this.setMenuBar(mb);
public static void main ( String args[])
{
new MenuTest().setVisible(true);
}
}
}
运行的时候,总是说 public static void main ( String args[])这行有错,求解,谢谢!!

第1个回答  2013-05-08
public static void main ( String args[])
{
new MenuTest().setVisible(true);
}
}

不要写在另一个方法内。

另外,是这个名称的

PopupMenu pop;追问

可以再详细一点吗?谢谢!

追答

有点难过。

import java.awt.*;
import java.awt.event.*;
class MenuTest extends Frame{
PopupMenu pop;
public MenuTest(){
super("Golf Caddy");
this.setSize(300,300);
this.add(new Label("choose club."),BorderLayout.NORTH );
//边界布局
Menu woods=new Menu("Woods");
woods.add(new MenuItem("1 W"));
woods.add(new MenuItem("3 W"));
woods.add(new MenuItem("5 W"));

Menu irons=new Menu("Irons");
irons.add(new MenuItem("3 iron"));
irons.add(new MenuItem("4 iron"));
irons.add(new MenuItem("5 iron"));
irons.add(new MenuItem("7 iron"));
irons.add(new MenuItem("8 iron"));
irons.add(new MenuItem("9 iron"));
irons.addSeparator();
irons.add(new MenuItem("PW"));
irons.insert(new MenuItem("6 iron"),3);//在3号索引处插上菜单项

MenuBar mb=new MenuBar();
mb.add(woods);
mb.add(irons);
this.setMenuBar(mb);
}
public static void main ( String args[]){
new MenuTest().setVisible(true);
}
}

———————注意,你写的这个程序是退不出的,要从任务管理器中杀掉的

追问

还是出错啊!

追答

不可能,你肯定修改过。

追问

真心没改啊,它说是PopupMenu pop;有错误。

追答

运行的效果这这样





import java.awt.*;
import java.awt.event.*;
class MenuTest extends Frame{
    PopupMenu pop;
    public MenuTest(){
        super("Golf Caddy");
        this.setSize(300,300);
        this.add(new Label("choose club."),BorderLayout.NORTH );
        //边界布局
        Menu woods=new Menu("Woods");
        woods.add(new MenuItem("1 W"));
        woods.add(new MenuItem("3 W"));
        woods.add(new MenuItem("5 W"));

        Menu irons=new Menu("Irons");
        irons.add(new MenuItem("3 iron"));
        irons.add(new MenuItem("4 iron"));
        irons.add(new MenuItem("5 iron"));
        irons.add(new MenuItem("7 iron"));
        irons.add(new MenuItem("8 iron"));
        irons.add(new MenuItem("9 iron"));
        irons.addSeparator();
        irons.add(new MenuItem("PW"));
        irons.insert(new MenuItem("6 iron"),3);//在3号索引处插上菜单项

        MenuBar mb=new MenuBar();
        mb.add(woods);
        mb.add(irons);
        this.setMenuBar(mb);
        this.addWindowListener(new WindowListener(){
            public void windowDeiconified(WindowEvent e) {}
            public void windowIconified(WindowEvent e) {}
            public void windowActivated(WindowEvent e) {}
            public void windowDeactivated(WindowEvent e) {}
            public void windowOpened(WindowEvent e) {}
            public void windowClosed(WindowEvent e) {}
            public void windowClosing(WindowEvent e) {
                MenuTest.this.dispose();
            }
        });
    }
    public static void main ( String args[]){
        new MenuTest().setVisible(true);
    }
}

第2个回答  2013-05-08
报什么错,错误代码贴出来,语法上看没有错
第3个回答  2013-05-08
public MenuTest()
改成
public static MenuTest()
试试
第4个回答  2013-05-08
亲,你把main方法放在里面了。应该再往外一层
第5个回答  2013-05-08
括号不对 少年~