嘿家伙我试图从其他类的菜单栏到我的JFrame,但它siply否认工作! 我在一个死胡同......Java菜单栏不出现
我真的不知道是怎么回事错了,我尝试了一些其他的方式,但它没有工作......
The code is this :
public Engine(int width, int height) {
System.out.println("TEST ENGINE CLAASS");
setTitle("Battleship Board - Place Your Ships");
setSize(width, height);
setLocation(624, 373);
setDefaultCloseOperation(3);
setResizable(false);
setVisible(true);
setLayout(null);
System.out.println("TEST ENGINE clas2");
Menu menu = new Menu(this);
super.setJMenuBar(menu.getMenuBar());
setDefaultCloseOperation(3);
}
和Menu.class:
public class Menu implements ActionListener {
private Engine cc;
private JMenuBar menuBar;
private JMenu game;
private JMenu help;
private JMenuItem aboutItem;
private JMenuItem quitItem;
private JMenuItem newGameItem;
public Menu (Engine cc) {
System.out.println("testing menu class");
this.cc = cc;
this.menuBar = new JMenuBar();
this.game = new JMenu("Game");
this.help = new JMenu("Help");
makeGameMenu();
makeAboutMenu();
}
private void makeGameMenu() {
System.out.println("Making game menu");
this.newGameItem = new JMenuItem("New Game");
this.game.add(this.newGameItem);
this.newGameItem.addActionListener(this);
this.game.addSeparator();
this.quitItem.addActionListener(this);
this.game.add(this.quitItem);
this.menuBar.add(this.game);
}
private void makeAboutMenu() {
this.aboutItem = new JMenuItem("About");
this.help.add(aboutItem);
this.menuBar.add(this.help);
}
public void actionPerformed(ActionEvent event) {
JMenuItem source = (JMenuItem)event.getSource();
//If user clicks new game then:
if (source == this.newGameItem) {
this.cc.newGame();
}
//If user clicks Quit then:
else if (source == this.quitItem) {
System.exit(0);
}
//If user clicks Help - About then:
else if (source == this.aboutItem) {
JOptionPane.showMessageDialog(null, "This Battleship Game was created by Manos Kontakis for Object Oriented Programming Lab", "About", 1);
}
}
public JMenuBar getMenuBar()
{
return this.menuBar;
}
}
真的解决了它,但问题是,它甚至没有去菜单类。问题在这里:super.setJMenuBar(menu.getMenuBar()); ....你知道那里有什么问题吗? – Manos 2013-04-09 18:16:42
“GameEngine”类的签名是什么? – Reimeus 2013-04-09 18:21:28
对不起,错误是引擎,在我的代码上这是正确的,这不是错误(从错误的包复制)。 – Manos 2013-04-09 18:25:11