我创建了一个代码,每当您单击 jmenuitem New Game int x 时,其值为 1 但遗憾的是它不会返回任何值
package sprite;
import java.awt.event.*;
import javax.swing.*;
import sprite.Intro;
import sprite.Fishes;
public class Ken{
static int x;
public static void main(String args[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame f = new JFrame("Save the FISH.");
Fishes fs = new Fishes();
Intro in = new Intro();
Arrow a = new Arrow();
f.setResizable(false);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(800,600);
if(x == 0){
f.add(a);
}
if(x == 1){
f.add(fs);
}
JMenuBar mb = new JMenuBar();
JMenu opt = new JMenu("Game");
JMenu sd = new JMenu("Select Difficulty");
JMenuItem ng = new JMenuItem("New Game");
JMenuItem ex = new JMenuItem("Exit");
JMenuItem l1 = new JMenuItem("Easy");
JMenuItem l2 = new JMenuItem("Average");
JMenuItem l3 = new JMenuItem("Hard");
f.setJMenuBar(mb);
mb.add(opt);
mb.add(sd);
opt.add(ng);
opt.add(ex);
sd.add(l1);
sd.add(l2);
sd.add(l3);
class exit implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
class newGame implements ActionListener{
public void actionPerformed(ActionEvent e) {
x = 1;
}
}
ng.addActionListener(new newGame());
ex.addActionListener(new exit());
}
}
我打算做的是 x 的值为 1,所以我可以在另一个类中使用它来继续,每当 x 获得 1 的值时,就会出现一个新面板。