0

我正在尝试更改 Jframe 的内容,使其从菜单屏幕到游戏本身。这就像你点击开始游戏然后你就可以玩游戏了。到目前为止,我已成功更改内容,但无法从我的代码中检测到游戏的控件。例如,我按下Space让游戏中的角色开枪,但每当我按下它时,我都没有注意到任何事情发生。我已经看到与此非常相似的主题,但这些主题并没有帮助我解决我的问题。所以,这是我的代码:

package rtype;

import javax.swing.JButton;
import javax.swing.JFrame;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Rtype extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
public Rtype() {
    setSize(1020, 440);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setTitle("PROJECT JAEGER");
    setResizable(false);
    setVisible(true);
    JButton startButton = new JButton("START GAME");//The JButton name.
    add(startButton);//Add the button to the JFrame.
    startButton.addActionListener(this);//Reads the action.
}

public static void main(String[] args) {
    new Rtype();
}
public void actionPerformed(ActionEvent i) {
    getContentPane().removeAll();
    add(new Board());
    setVisible(true);  
        System.out.println("The Button Works!");//what the button says when clicked.
    }
}

召唤add(new Board());召唤游戏。棋盘是游戏的类别。

4

1 回答 1

1

解决方案非常简单。更改框架中的内容后,您需要调用revalidate以使更改生效。只需将这行代码添加到末尾即可actionPerformed

revalidate();
于 2013-09-14T00:29:19.513 回答