首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

为什么小弟我写的代码设置好了菜单功能却不能显现出菜单

2012-03-29 
为什么我写的代码设置好了菜单功能却不能显现出菜单?为什么我写的代码设置好了菜单功能却不能显现出菜单?i

为什么我写的代码设置好了菜单功能却不能显现出菜单?
为什么我写的代码设置好了菜单功能却不能显现出菜单?
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
import java.applet.*;

public class Merframe extends JFrame{//声明程序规范//
  JMenu jmenu1=new JMenu();
  JMenu jmenu2=new JMenu();
  JMenu jmenu3=new JMenu();
  JMenu jmenu4=new JMenu();
  JMenu jmenu5=new JMenu();
  JMenu jmenu6=new JMenu();
  JMenuBar jmenubar1=new JMenuBar();
  JMenuItem jmenuitem1=new JMenuItem();
  JMenuItem jmenuitem2=new JMenuItem();
  JMenuItem jmenuitem3=new JMenuItem();
  JMenuItem jmenuitem4=new JMenuItem();
  JMenuItem jmenuitem5=new JMenuItem();
  JMenuItem jmenuitem6=new JMenuItem();
  JMenuItem jmenuitem7=new JMenuItem();
  JMenuItem jmenuitem8=new JMenuItem();
  JMenuItem jmenuitem9=new JMenuItem();
  JMenuItem jmenuitem10=new JMenuItem();
  JMenuItem jmenuitem11=new JMenuItem();
  JMenuItem jmenuitem12=new JMenuItem();
  JMenuItem jmenuitem13=new JMenuItem();
  JMenuItem jmenuitem14=new JMenuItem();
  JMenuItem jmenuitem15=new JMenuItem();
  JMenuItem jmenuitem16=new JMenuItem();
  JMenuItem jmenuitem17=new JMenuItem();
  JMenuItem jmenuitem18=new JMenuItem();
  JMenuItem jmenuitem19=new JMenuItem();
  JPanel jpanel1=new JPanel();
  JList jlist1=new JList();
  FlowLayout flowlayout1=new FlowLayout();
  User_info userd;
public Merframe()//声明程序主体//
{
   
  jpanel1.setLayout(flowlayout1);
  this.setJMenuBar(jmenubar1);
  jmenu1.setLabel("人员登记信息");

  jmenu2.setLabel("药品管理信息");
   
  jmenu3.setLabel("医疗&养老管理");
   
  jmenu4.setLabel("导入数据");
   
  jmenu5.setLabel("帮助");
   
  jmenu6.setLabel("退出");
   
  jmenuitem1.setLabel("病人信息登记");
   
  jmenuitem2.setLabel("病人信息修改(查询)");
   
  jmenuitem3.setLabel("病人信息删除");
   
  jmenuitem4.setLabel("药品入库管理");
   
  jmenuitem5.setLabel("药品出库管理");
   
  jmenuitem6.setLabel("药品库存管理(查询)");
   
  jmenuitem7.setLabel("管理员信息登记");
   
  jmenuitem8.setLabel("管理员信息修改(查询)");
   
  jmenuitem9.setLabel("管理员信息删除");
   
  jmenuitem10.setLabel("医疗保险人员登记");
   
  jmenuitem11.setLabel("医疗保险人员修改(查询)");
   
  jmenuitem12.setLabel("医疗保险人员删除");
   
  jmenuitem13.setLabel("养老保险人员登记");
   
  jmenuitem14.setLabel("养老保险人员修改(查询)");
   
  jmenuitem15.setLabel("deloldinfo");
   
  jmenuitem16.setLabel("import EXCEL info");
   
  jmenuitem17.setLabel("import ACCESS info");
   
  jmenuitem18.setLabel("help");
   
  jmenuitem19.setLabel("exit");
   
  jmenubar1.add(jmenu1);//加入管理信息//
  jmenubar1.add(jmenu2);
  jmenubar1.add(jmenu3);
  jmenubar1.add(jmenu4);
  jmenubar1.add(jmenu5);
  jmenubar1.add(jmenu6);
  jmenu1.add(jmenuitem1);


  jmenu1.add(jmenuitem2);
  jmenu1.add(jmenuitem3);
  jmenu1.add(jmenuitem7);
  jmenu1.add(jmenuitem8);
  jmenu1.add(jmenuitem9);
  jmenu2.add(jmenuitem4);
  jmenu2.add(jmenuitem5);
  jmenu2.add(jmenuitem6);
  jmenu3.add(jmenuitem10);
  jmenu3.add(jmenuitem11);
  jmenu3.add(jmenuitem12);
  jmenu3.add(jmenuitem13);
  jmenu3.add(jmenuitem14);
  jmenu3.add(jmenuitem15);
  jmenu4.add(jmenuitem16);
  jmenu4.add(jmenuitem17);
  jmenu5.add(jmenuitem18);
  jmenu6.add(jmenuitem19);
  jpanel1.add(jmenubar1);
  jpanel1.add(jmenu1);
  jpanel1.add(jmenu2);
  jpanel1.add(jmenu3);
  jpanel1.add(jmenu4);
  jpanel1.add(jmenu5);
  jpanel1.add(jmenu6);

  jmenu1.setVisible(true);

  jmenu2.setVisible(true);

  jmenu3.setVisible(true);

  jmenu4.setVisible(true);

  jmenu5.setVisible(true);

  jmenu6.setVisible(true);

  jmenuitem1.setVisible(true);

  jmenuitem2.setVisible(true);

  jmenuitem3.setVisible(true);

  jmenuitem4.setVisible(true);

  jmenuitem5.setVisible(true);

  jmenuitem6.setVisible(true);

  jmenuitem7.setVisible(true);

  jmenuitem8.setVisible(true);

  jmenuitem9.setVisible(true);

  jmenuitem10.setVisible(true);

  jmenuitem11.setVisible(true);

  jmenuitem12.setVisible(true);

  jmenuitem13.setVisible(true);

  jmenuitem14.setVisible(true);

  jmenuitem15.setVisible(true);

  jmenuitem16.setVisible(true);

  jmenuitem17.setVisible(true);

  jmenuitem18.setVisible(true);

  jmenuitem19.setVisible(true);

  jmenuitem1.addActionListener(new ActionListener()
  {
  public void actionPerformed(ActionEvent e)
  {
  userd=new User_info();
   
  }
  });
  jmenuitem2.addActionListener(new ActionListener()
  {
  public void actionPerformed(ActionEvent e)
  {
  userd=new User_info();
   
  }
  });



  }

public static void main(String[] args) 
 {
  Merframe merframe=new Merframe();
  merframe.setVisible(true);
  }
}

class User_info
{




[解决办法]
这段代码让我崩溃..
[解决办法]
给出窗口大小
[解决办法]

Java code
jpanel1.add(jmenubar1);        //jpanel1.add(jmenu1);        //jpanel1.add(jmenu2);        //jpanel1.add(jmenu3);        //jpanel1.add(jmenu4);        //jpanel1.add(jmenu5);        //jpanel1.add(jmenu6);        JPanel  contentPane=(JPanel) this.getContentPane();          contentPane.add(this.jpanel1);   //修改部分
[解决办法]
多余代码也太多,jpanel应该去掉,或者不要把菜单增加到jpanel
[解决办法]
还有那些setVisible多余
------解决方案--------------------


Java code
import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.ArrayList;import java.util.List;import javax.swing.JFrame;import javax.swing.JList;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.SwingConstants;public class Merframe extends JFrame {// 声明程序规范    JMenu[] jmenus = new JMenu[] { new JMenu("人员登记信息"), new JMenu("药品管理信息"),            new JMenu("医疗&养老管理"), new JMenu("导入数据"), new JMenu("帮助"),            new JMenu("退出") };    JMenuBar jmenubar1 = new JMenuBar();    JMenuItem[] jmenuItem1 = new JMenuItem[] { new JMenuItem("病人信息登记"),            new JMenuItem("病人信息修改(查询)"), new JMenuItem("病人信息删除"),            new JMenuItem("管理员信息登记"), new JMenuItem("管理员信息修改(查询)"),            new JMenuItem("管理员信息删除") };    JMenuItem[] jmenuItem2 = new JMenuItem[] { new JMenuItem("药品入库管理"),            new JMenuItem("药品出库管理"), new JMenuItem("药品库存管理(查询)") };    JMenuItem[] jmenuItem3 = new JMenuItem[] { new JMenuItem("医疗保险人员登记"),            new JMenuItem("医疗保险人员修改(查询)"), new JMenuItem("医疗保险人员删除"),            new JMenuItem("养老保险人员登记"), new JMenuItem("养老保险人员修改(查询)"),            new JMenuItem("deloldinfo") };    JMenuItem[] jmenuItem4 = new JMenuItem[] {            new JMenuItem("import EXCEL info"),            new JMenuItem("import ACCESS info") };    JMenuItem[] jmenuItem5 = new JMenuItem[] { new JMenuItem("help") };    JMenuItem[] jmenuItem6 = new JMenuItem[] { new JMenuItem("exit") };    JList jlist1 = new JList();    FlowLayout flowlayout1 = new FlowLayout(SwingConstants.LEFT);    User_info userd;    List<JMenuItem[]> jmenuItemList = new ArrayList<JMenuItem[]>();    public Merframe()// 声明程序主体//    {        jmenuItemList.add(jmenuItem1);        jmenuItemList.add(jmenuItem2);        jmenuItemList.add(jmenuItem3);        jmenuItemList.add(jmenuItem4);        jmenuItemList.add(jmenuItem5);        jmenuItemList.add(jmenuItem6);        setLayout(flowlayout1);        int i = 0;        JMenuItem[] jMenuItems;        for (JMenu jmenu : jmenus) {            jMenuItems = jmenuItemList.get(i);            for (JMenuItem jmenuItem : jMenuItems) {                jmenu.add(jmenuItem);            }            jmenubar1.add(jmenu);            i++;        }        setJMenuBar(jmenubar1);        jmenuItem1[0].addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                userd = new User_info();            }        });        jmenuItem1[1].addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                userd = new User_info();            }        });    }    public static void main(String[] args) {        Merframe merframe = new Merframe();        merframe.setBounds(200, 100, 800, 600);        merframe.setVisible(true);    }}class User_info {}
[解决办法]
似乎JMenuBar还没有加载Menu就已经被JFrame加载了,顺序有点奇怪哦,呵呵!
[解决办法]
楼主的代码让地球人崩溃!!!!

热点排行