GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
if (gd.isFullScreenSupported()) {
gd.setFullScreenWindow(frame);
}
的gd.setFullScreenWindow(frame);
功能需要的幀不是這個函數調用之前可見:
從documentation:
當進入全屏模式,如果該窗口被用作 全屏窗口不可見,此方法將使其可見。 返回窗口模式時,它將保持可見狀態。
當進入全屏模式時,窗口將重置所有半透明效果 。其形狀設置爲空,不透明度值設置爲 1.0f,背景色alpha設置爲255(完全不透明)。返回到窗口模式時,這些值不會恢復。
它是未指定的和平臺相關的裝飾窗口如何在全屏模式下操作 。因此,建議使用 setUndecorated方法關閉幀或對話框對象中的裝飾。
什麼是錯的:jFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
編輯:演示支持我的要求,這就是我們所說的SSCCE 我有一個按鈕太多,框架最小化到按鈕的尺寸。點擊按鈕可以看到setExtendedState(JFrame.MAXIMIZED_BOTH)
功能的動作。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyWindow extends JFrame
{
int width=GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().width;
int height=GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().height;
public MyWindow()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Click Me");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
setExtendedState(JFrame.MAXIMIZED_BOTH);
}
});
add(button);
pack();
}
public static void main(String[] args)
{
new MyWindow().setVisible(true);
}
}
編輯:從您下面的評論:
是的,但我想全屏,因爲我的應用程序已經獲得要 最大化。
您可能是在功能:jFrame.setUndecorated(true);
,這將刪除標題欄和所有使幀包含全屏。
爲了更快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –