JFrame jf = new JFrame(); MenuBar menubar = new MenuBar(); Menu menu1 = new Menu("File"); Menu menu2 = new Menu("Edit"); menubar.add(menu1); MenuItem NewMenu = new MenuItem("new", new MenuShortcut(KeyEvent.VK_N)); menu1.add(NewMenu); MenuItem OpenMenu = new MenuItem("open"); menu1.add(OpenMenu); menubar.add(menu2); MenuItem cutMenu = new MenuItem("cut"); menu2.add(cutMenu); MenuItem copyMenu = new MenuItem("copy"); menu2.add(copyMenu); jf.setMenuBar(menubar); contentPane.add(jf, BorderLayout.NORTH);改错
时间: 2024-01-14 20:02:32 浏览: 136
Java-Swing-menu:在Java中使用JFrame创建Swing菜单示例
代码中有一些错误,需要进行改正:
1. `jf` 是 `JFrame` 对象,应该将 `jf` 添加到 `contentPane` 中,而不是将 `contentPane` 添加到 `jf` 中。
2. `contentPane` 可能还没有被创建,需要先创建 `contentPane` 对象,并设置为 `JFrame` 的内容面板。
3. `MenuBar` 应该设置给 `jf`,而不是添加到 `contentPane` 中。
4. `MenuItem` 中的 `new` 是 Java 的关键字,不能作为变量名。
改正后的代码应该为:
```
JFrame jf = new JFrame();
JPanel contentPane = new JPanel(new BorderLayout());
jf.setContentPane(contentPane);
MenuBar menubar = new MenuBar();
Menu menu1 = new Menu("File");
Menu menu2 = new Menu("Edit");
menubar.add(menu1);
menubar.add(menu2);
MenuItem newMenu = new MenuItem("new", new MenuShortcut(KeyEvent.VK_N));
menu1.add(newMenu);
MenuItem openMenu = new MenuItem("open");
menu1.add(openMenu);
MenuItem cutMenu = new MenuItem("cut");
menu2.add(cutMenu);
MenuItem copyMenu = new MenuItem("copy");
menu2.add(copyMenu);
jf.setMenuBar(menubar);
contentPane.add(jf, BorderLayout.NORTH);
```
阅读全文