0

一切都是黑色的。

btnFullScreen.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
                GraphicsDevice gd = ge.getDefaultScreenDevice();
                if (gd.isFullScreenSupported()) {
                    gd.setFullScreenWindow(frame);
                }
            }
        });
4

1 回答 1

1
 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);,它将删除标题栏和所有内容以使框架包含全屏。

于 2013-11-14T19:49:38.490 回答