Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
第二个窗口中的Java画布错误焦点或操作侦听器_Java_Focus_Awt_Java Canvas_Bufferstrategy - Fatal编程技术网

第二个窗口中的Java画布错误焦点或操作侦听器

第二个窗口中的Java画布错误焦点或操作侦听器,java,focus,awt,java-canvas,bufferstrategy,Java,Focus,Awt,Java Canvas,Bufferstrategy,我创建了两个框架: 在第一帧中,我制作了一个按钮,将我移动到类创建的第二帧,该帧在画布之后扩展,在从第一帧移动到第二帧之后,我失去了动作侦听器或焦点 第一个窗口在此: public class Credits extends JFrame { public Credits() { super("Credits"); setSize(300, 200); setLayout(new BorderLayout()); JButton ok = new JButto

我创建了两个框架:

在第一帧中,我制作了一个按钮,将我移动到类创建的第二帧,该帧在画布之后扩展,在从第一帧移动到第二帧之后,我失去了动作侦听器或焦点

第一个窗口在此:

public class Credits extends JFrame {

public Credits() {
    super("Credits");
    setSize(300, 200);
    setLayout(new BorderLayout());

    JButton ok = new JButton("GAME");


    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setResizable(false);
    this.add(ok);
    setVisible(true);


    ok.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

            dispose();
            new WojnaSwiatow().game();

        }
    });



}

public static void main(String []args ) {
    SwingUtilities.invokeLater(new Runnable(){

        @Override
        public void run()
        {
           new Credits();
        }

    });
}
}
第二帧:

public class WojnaSwiatow extends Canvas implements Stage, KeyListener {/**
 * @param args the command line arguments
 */

    createBufferStrategy(2);
    strategia = getBufferStrategy();
    requestFocus();

    requestFocusInWindow(true);
    addKeyListener(this);
    okno.addKeyListener(this);
    okno.pack();
    okno.setVisible(true);



public long usedTime;
public BufferStrategy strategia;
private SpriteCache spriteCache;
private ArrayList actors;
private Player player;


public WojnaSwiatow(){

    spriteCache = new SpriteCache();
    JFrame okno = new JFrame("..:Wojna Swiatow :..");
    JPanel panel = (JPanel)okno.getContentPane();
    setBounds(0,0,Stage.SZEROKOSC,Stage.WYSOKOSC);

    panel.setPreferredSize(new Dimension(Stage.SZEROKOSC,Stage.WYSOKOSC));
    panel.setLayout(null);
    panel.add(this);

    okno.setBounds(0,0,Stage.SZEROKOSC,Stage.WYSOKOSC);
    okno.setVisible(true);
    okno.setResizable(false);
    okno.setLocationRelativeTo(null);


    okno.addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e){
            System.exit(0);
        }
    });

也许问题出在战略上

为了更快地获得更好的帮助,请发布一个“我创建了两个框架:”参见