0

2つのモードを切り替えて描画して調整すると、ウィンドウモードではフルスクリーンモードのように描画されているように見えますが、実際には小さくなります...

それが私のコードです:

コンストラクター: GraphicsEnvironment gfxEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();

GraphicsDevice gfxDevice = gfxEnvironment.getDefaultScreenDevice();

プライベート ブール フルスクリーン = true; // あまりそうではない

if(answer == JOptionPane.YES_OPTION) {

        setUndecorated(true);
        setAlwaysOnTop(true);
        DisplayMode getMode = gfxDevice.getDisplayMode();
        DisplayMode displayMode = new DisplayMode(getMode.getWidth(), getMode.getHeight(), getMode.getBitDepth(), getMode.getRefreshRate());
        gfxDevice.setFullScreenWindow(Frame.this);
        gfxDevice.setDisplayMode(displayMode);
        fullscreen = true;
    } else {
        setUndecorated(false);
        setVisible(true);
        setSize(800, 600);
        setLocationRelativeTo(null);
        setResizable(false);
        fullscreen = false;
    }

画面を切り替える: if(fullscreen) {

        dispose();
        setUndecorated(false);
        gfxDevice.setFullScreenWindow(null);
        setSize(800, 600);
        setLocationRelativeTo(null);
        setVisible(true);
        fullscreen = false;
    } else {
        setVisible(false);
        dispose();
        setUndecorated(true);
        gfxDevice.setFullScreenWindow(Frame.this);
        fullscreen = true;
    }

draw: private void draw(Graphics g) {

    g.setColor(Color.RED);
    g.fillRect(0, 0, 400, 800);
}

では、Rect を調整するにはどうすればよいでしょうか。ありがとう:)

4

1 に答える 1

0

画面サイズに基づいて長方形の描画を行うことができます。そのため、ウィンドウの幅と高さの一部に基づいて 、固定ピクセル値の代わりに使用しますjava.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().width;java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().height;

于 2014-06-25T14:57:34.930 に答える