java 菜单条 为什么我 点了一下 文件 那个 Jmenu 后 鼠标一移开 下面的 jmenuitem 就 不显示
/**记事本**/packagecom.hhj.swing;importjava.awt.event.WindowEvent;importjava.awt.event.W...
/*
* 记事本
*
*/
package com.hhj.swing;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
public class Demo2_2 extends JFrame {
JMenuBar jMenuBar;
JMenu jMenu1, jMenu2, jMenu3;
JMenuItem jmi1, jmi2, jmi3, jmi4, jmi5, jmi6, jmi7;
JMenu newjJMenu;
JMenuItem wenjian, project;
JToolBar jToolBar;
JButton jb1, jb2, jb3, jb4, jb5, jb6;
JTextArea jTextArea;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo2_2 demo2_2=new Demo2_2();
}
public Demo2_2() {
jMenuBar = new JMenuBar();
jMenu1 = new JMenu("文件(F)");
jMenu1.setMnemonic('F');
jMenu2 = new JMenu("编辑(E)");
jMenu2.setMnemonic('E');
jmi1 = new JMenuItem("新建");
jmi2 = new JMenuItem("打开");
jmi3 = new JMenuItem("保存");
jmi4 = new JMenuItem("另存为");
jmi5 = new JMenuItem("更改设置");
jmi6 = new JMenuItem("打印");
jmi7 = new JMenuItem("退出");
jMenu1.add(jmi1);
jMenu1.add(jmi2);
jMenu1.add(jmi3);
jMenu1.addSeparator();
jMenu1.add(jmi4);
jMenu1.add(jmi5);
jMenu1.add(jmi6);
jMenu1.addSeparator();
jMenu1.add(jmi7);
newjJMenu = new JMenu();
wenjian = new JMenuItem("文件");
project = new JMenuItem("工程");
newjJMenu.add(wenjian);
newjJMenu.add(project);
jmi1.add(newjJMenu);
jMenuBar.add(jMenu1);
jMenuBar.add(jMenu2);
this.setJMenuBar(jMenuBar);
//this.addWindowListener(new MyWindowListener());
this.setSize(400, 400);
this.setTitle("记事本");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
} 展开
* 记事本
*
*/
package com.hhj.swing;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
public class Demo2_2 extends JFrame {
JMenuBar jMenuBar;
JMenu jMenu1, jMenu2, jMenu3;
JMenuItem jmi1, jmi2, jmi3, jmi4, jmi5, jmi6, jmi7;
JMenu newjJMenu;
JMenuItem wenjian, project;
JToolBar jToolBar;
JButton jb1, jb2, jb3, jb4, jb5, jb6;
JTextArea jTextArea;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo2_2 demo2_2=new Demo2_2();
}
public Demo2_2() {
jMenuBar = new JMenuBar();
jMenu1 = new JMenu("文件(F)");
jMenu1.setMnemonic('F');
jMenu2 = new JMenu("编辑(E)");
jMenu2.setMnemonic('E');
jmi1 = new JMenuItem("新建");
jmi2 = new JMenuItem("打开");
jmi3 = new JMenuItem("保存");
jmi4 = new JMenuItem("另存为");
jmi5 = new JMenuItem("更改设置");
jmi6 = new JMenuItem("打印");
jmi7 = new JMenuItem("退出");
jMenu1.add(jmi1);
jMenu1.add(jmi2);
jMenu1.add(jmi3);
jMenu1.addSeparator();
jMenu1.add(jmi4);
jMenu1.add(jmi5);
jMenu1.add(jmi6);
jMenu1.addSeparator();
jMenu1.add(jmi7);
newjJMenu = new JMenu();
wenjian = new JMenuItem("文件");
project = new JMenuItem("工程");
newjJMenu.add(wenjian);
newjJMenu.add(project);
jmi1.add(newjJMenu);
jMenuBar.add(jMenu1);
jMenuBar.add(jMenu2);
this.setJMenuBar(jMenuBar);
//this.addWindowListener(new MyWindowListener());
this.setSize(400, 400);
this.setTitle("记事本");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
} 展开
2个回答
展开全部
应该是顺序的问题,试着这样改一下:
public Demo2_2() {
jMenuBar = new JMenuBar();
jMenu1 = new JMenu("文件(F)");
jMenu1.setMnemonic('F');
jmi1 = new JMenuItem("新建");
newjJMenu = new JMenu();
wenjian = new JMenuItem("文件");
project = new JMenuItem("工程");
newjJMenu.add(wenjian);
newjJMenu.add(project);
jmi1.add(newjJMenu);
jmi2 = new JMenuItem("打开");
jmi3 = new JMenuItem("保存");
jmi4 = new JMenuItem("另存为");
jmi5 = new JMenuItem("更改设置");
jmi6 = new JMenuItem("打印");
jmi7 = new JMenuItem("退出");
jMenu1.add(jmi1);
jMenu1.add(jmi2);
jMenu1.add(jmi3);
jMenu1.addSeparator();
jMenu1.add(jmi4);
jMenu1.add(jmi5);
jMenu1.add(jmi6);
jMenu1.addSeparator();
jMenu1.add(jmi7);
jMenu2 = new JMenu("编辑(E)");
jMenu2.setMnemonic('E');
jMenuBar.add(jMenu1);
jMenuBar.add(jMenu2);
this.setJMenuBar(jMenuBar);
//this.addWindowListener(new MyWindowListener());
this.setSize(400, 400);
this.setTitle("记事本");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public Demo2_2() {
jMenuBar = new JMenuBar();
jMenu1 = new JMenu("文件(F)");
jMenu1.setMnemonic('F');
jmi1 = new JMenuItem("新建");
newjJMenu = new JMenu();
wenjian = new JMenuItem("文件");
project = new JMenuItem("工程");
newjJMenu.add(wenjian);
newjJMenu.add(project);
jmi1.add(newjJMenu);
jmi2 = new JMenuItem("打开");
jmi3 = new JMenuItem("保存");
jmi4 = new JMenuItem("另存为");
jmi5 = new JMenuItem("更改设置");
jmi6 = new JMenuItem("打印");
jmi7 = new JMenuItem("退出");
jMenu1.add(jmi1);
jMenu1.add(jmi2);
jMenu1.add(jmi3);
jMenu1.addSeparator();
jMenu1.add(jmi4);
jMenu1.add(jmi5);
jMenu1.add(jmi6);
jMenu1.addSeparator();
jMenu1.add(jmi7);
jMenu2 = new JMenu("编辑(E)");
jMenu2.setMnemonic('E');
jMenuBar.add(jMenu1);
jMenuBar.add(jMenu2);
this.setJMenuBar(jMenuBar);
//this.addWindowListener(new MyWindowListener());
this.setSize(400, 400);
this.setTitle("记事本");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
追问
我已经找到问题了。
二级菜单不应该jmi1.add(newjJMenu); 这样加入
而是jMenu1.add(newjMenu);
我我加错了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询