制作JFrame全屏[Java]

时间:2016-01-20 00:28:44

标签: java swing jframe fullscreen

我做了很多研究,我查看了很多例子,但我无法弄清楚为什么我的代码无效。我试图使一个窗口全屏(没有工具栏或任何东西,ACTUAL全屏),并一直在玩代码: (来自http://docs.oracle.com/javase/tutorial/extra/fullscreen/exclusivemode.html

编辑:人们没有得到它。我非常有信心,下面的代码,按照我想要的方式,将帧设置为全屏。它只是不适合我! 告诉我使用.setExtendedState(JFrame.MAXIMIZED_BOTH)并不是我想要的。

GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
                GraphicsDevice dev = env.getDefaultScreenDevice();
                System.out.println(dev.isFullScreenSupported());
                dev.setFullScreenWindow(frame);

我不完全理解代码的作用,但我知道它不会使我的窗口全屏。我已经查看了其他示例,这似乎是这样做的方式。这是我的其余代码(到目前为止,我刚刚开始一个新项目):

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class Main extends JFrame {

private JPanel contentPane;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Main frame = new Main();

                frame.setResizable(false);
                frame.setUndecorated(false);
                frame.setVisible(true);
                GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
                GraphicsDevice dev = env.getDefaultScreenDevice();

                //this returns true
                System.out.println(dev.isFullScreenSupported());

                dev.setFullScreenWindow(frame);
                frame.validate();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public Main() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new BorderLayout(0, 0));
    setContentPane(contentPane);
 }
}

0 个答案:

没有答案