Java图形全屏模式未注册键盘输入



我正在尝试编写一个获取键盘输入的全屏幕应用程序。我已经尝试在Jframe中添加KeyListeners,现在将其添加到Jframe中的画布中,并将它们都设置为可集中的,但似乎根本没有注册任何内容。在全屏模式下,我有什么特别的事情来注册我的关键因素吗?任何帮助都非常感谢。(显示只是Jframe的扩展,尚无任何更改)

public class chanceCore implements Runnable, KeyListener, MouseListener {
boolean isRunning = true;
display frame;
Canvas canvas;
GraphicsDevice device;
GraphicsEnvironment environment;
public chanceCore() {
    setUp();
    run();
}
public void setUp() {
    frame = new display("CGE");
    canvas = new Canvas();
    frame.getContentPane().add(canvas);
    frame.setUndecorated(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    canvas.addKeyListener(this);
    canvas.addMouseListener(this);
    canvas.setFocusable(true);
    frame.setVisible(true);
    environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
    device = environment.getDefaultScreenDevice();
    device.setFullScreenWindow(frame);
}
@Override
public void run() {
    while (isRunning) {
        draw(canvas.getGraphics());
        try {
            Thread.sleep(200);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}
public void draw(Graphics g) {
    g.setColor(Color.BLUE);
    g.fillRect(0, 0, frame.getWidth(), frame.getHeight());
}
@Override
public void keyPressed(KeyEvent e) {
   System.out.println(e.getKeyCode());
}

尝试此代码。调用setfullscreenmode()后,只需添加这两行。当我们输入全屏时出现问题,

frame.setVisible(false);

最新更新