如何在Java中将窗口调整为全屏大小?

时间:2019-04-25 14:00:03

标签: java image resize window

在过去的几个月中,我一直在为一个类编写游戏,直到我尝试将其制作为jar文件时,我才意识到自己有问题。

当我用netbeans运行该程序时,或多或少都可以。

IDE run

当我做一个罐子时,窗口的大小会超出屏幕上显示的大小

Jar run

所以我试图在全屏模式下执行某些操作,但是它不会使内容全屏显示,只是使窗口全屏显示

Full Screen run

我一直以第一个屏幕快照为前提来制作游戏,但是当我制作jar文件时,它运行时稍大一些,足以切掉屏幕底部(字体看起来也很糟糕,计时要快得多,但一次有一个问题)。所以我想,让我们进入某种全屏模式,四处看看之后,我得到了屏幕快照3。理想情况下,我希望游戏进入全屏状态,并自动将图像拉伸/缩小以适合窗口,但是到目前为止,我发现的每个解决方案都只会拉伸窗口本身,而不拉伸窗口中的图像。

这是我必须建立的窗口:

private void initUI() {

        add(new Board());

        setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
        setUndecorated(true);
        setVisible(true);
        setResizable(false); 
        pack(); 
        setLocationRelativeTo(null); 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    }

我试图用它来使其全屏显示:

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setSize(screenSize.width,screenSize.height);

谢谢您的帮助!

编辑:我尝试了下面的建议,并得到以下改进,但是如果我能以某种方式使边框变黑,那就更好了:

Full Screen run 2

1 个答案:

答案 0 :(得分:0)

我正在使用Frame:

JFrame frame = new JFrame();
// set properties
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setUndecorated(true);
frame.setVisible(true);

对我有用。