【问题标题】:when i click JButton i want that game should start当我单击 JButton 时,我希望该游戏应该开始
【发布时间】:2013-09-28 05:08:49
【问题描述】:

我正在开发一个蛇游戏项目。我有三个名为:

  • Engine.java
  • GameBoard.java
  • Snake.java

我在这个项目中添加了两个JFrames。第一帧是三个按钮:

  • play
  • rules
  • exit

当我们点击rules 按钮时,它会打开rules jframe(它正在工作)。当我们单击play 按钮时,它应该运行贪吃蛇游戏。请建议我点击play按钮实际开始游戏时应该怎么做。

这是我在play按钮actionPerformed方法中复制的代码:

        JFrame frame = new JFrame("SnakeGame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        Canvas canvas = new Canvas();
        canvas.setBackground(Color.black);
        canvas.setPreferredSize(new Dimension(GameBoard.MAP_SIZE * GameBoard.TILE_SIZE, GameBoard.MAP_SIZE * GameBoard.TILE_SIZE));
        frame.add(canvas);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        new Engine(canvas).startGame();

【问题讨论】:

  • 如需尽快获得更好的帮助,请发帖SSCCE
  • @ankush-pruthi 请使用编辑按钮,添加Engine 代码并写下更多关于您的问题的信息——您期望什么?你尝试什么?等
  • 不要使用作为 AWT 组件的 Canvas。在 Swing 程序中,您将使用 JPanel。
  • @rebeliagamer:在这个问题上,我遇到了一个问题,比如当我点击播放按钮时,游戏板出现在屏幕上,“蛇”和“水果”也出现了,但问题是蛇不动。最初在这个项目中只有三个类,为了改进 GUI,我从我身边添加了两个 JFrame。一个 Jframe 包含三个按钮,其中有一个“播放”按钮,我希望单击播放按钮时游戏应该开始,但我面临的问题是游戏板出现在屏幕上,但蛇没有移动,而且输出也是挂起太
  • @camickr 此方法不适用于 JPanel canvas.createBufferStrategy(2); .. 是否有任何替代方法可以与 JPael 一起用于相同目的。

标签: java swing jbutton actionlistener


【解决方案1】:

ActionListener 添加到调用适当启动方法的“播放”按钮。

【讨论】:

  • 我已经将 ActionListener 添加到播放按钮。我面临的问题是当我单击播放按钮时,游戏板出现但蛇没有移动,即蛇一动不动..
【解决方案2】:

我不知道,如果我正确理解了您的问题:您的 Snake.java 是 GUI? 如果是这样,那么当您单击播放按钮时,制作您的 GUI“Snake”对象:

JButton play = new JButton("play");

play.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e)
        {
            Snake play = new Snake();
        }
});

希望对您有所帮助。

【讨论】:

  • @Andrew Thompson no on java
  • @Andrew Thompson:你当然是对的。那是android源代码。我编辑了代码。
  • @tharos 哦,现在我在里面添加了一些东西
  • 有没有启动方法,可以引导你的蛇移动?
  • 好的,然后在你的 Snake 类的构造函数中调用 startGame() 方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多