java-全屏框架图像加载

我正在尝试使用AWT在Java中制作棋盘游戏.我想在全屏独占模式下运行此游戏.但是paint()方法不起作用.

问题是我想在全屏框架上加载并绘制图像,但是传统的paint()方法不允许我这样做.

解决方法:

下面的示例将使用java.awt.Frame在默认屏幕设备上全屏显示.

> Lesson: Full-Screen Exclusive Mode API(链接到oracle).

public static void main(String[] args) throws IOException {

    Frame frame = new Frame("Test");
    frame.setUndecorated(true);

    frame.add(new Component() {
        BufferedImage img = ImageIO.read(new URL("http://upload.wikimedia.org/"+
                                                 "wikipedia/en/2/24/Lenna.png"));
        @Override
        public void paint(Graphics g) {
            super.paint(g);
            g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
        }
    });

    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    GraphicsDevice gs = ge.getDefaultScreenDevice();
    gs.setFullScreenWindow(frame);
    frame.validate();
}

您也可以将上面的示例与swing一起使用(只需确保实现paintComponent(Graphics g)方法而不是paint).

上一篇:java-Toolkit.getImage()的正确路径是什么?


下一篇:java-带有窗口焦点事件的意外行为