GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
if (gd.isFullScreenSupported()) {
gd.setFullScreenWindow(frame);
}
该gd.setFullScreenWindow(frame);
函数要求该帧在此函数调用之前不可见:
从文档中:
进入全屏模式时,如果要用作全屏窗口的窗口不可见,该方法将使其可见。返回窗口模式时,它将保持可见。
进入全屏模式时,窗口的所有半透明效果都会重置。它的形状设置为 null,不透明度值设置为 1.0f,背景颜色 alpha 设置为 255(完全不透明)。当返回到窗口模式时,这些值不会恢复。
装饰窗口在全屏模式下的运行方式未指定且取决于平台。因此,建议使用 setUndecorated 方法关闭 Frame 或 Dialog 对象中的装饰。
出什么问题了 :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);
,它将删除标题栏和所有内容以使框架包含全屏。