第二个窗口中的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);
}
});
也许问题出在战略上 为了更快地获得更好的帮助,请发布一个“我创建了两个框架:”参见