You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用简单Java语句设置AWT Frame为全屏?能否自动实现全屏?

AWT Frame 全屏设置问题解答

1. 用一条简单语句设置AWT Frame为全屏

直接用这条语句就能实现真正的全屏(隐藏标题栏、边框,完全占据整个屏幕):

GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().setFullScreenWindow(yourFrameInstance);

这里的yourFrameInstance就是你创建的Frame对象,这条语句会直接获取系统默认的屏幕设备,然后将你的Frame设置为该设备的全屏窗口。

2. 让Frame自动设置为全屏(完全可行!)

当然可以让Frame启动后自动进入全屏状态,给你两种常用的实现方式:

方式一:在Frame构造函数中直接触发全屏

把全屏逻辑写在Frame的构造函数里,窗口创建完成后会自动进入全屏:

import java.awt.Frame;
import java.awt.GraphicsEnvironment;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AutoFullScreenFrame extends Frame {
    public AutoFullScreenFrame() {
        setTitle("自动全屏演示");
        
        // 核心:窗口初始化时直接设置全屏
        GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().setFullScreenWindow(this);
        
        // 添加窗口关闭的处理逻辑
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                dispose();
                System.exit(0);
            }
        });
    }

    public static void main(String[] args) {
        new AutoFullScreenFrame().setVisible(true);
    }
}

方式二:通过窗口打开事件延迟触发全屏

如果你希望窗口先以普通大小显示,等完全初始化后再切换到全屏,可以监听windowOpened事件:

import java.awt.Frame;
import java.awt.GraphicsEnvironment;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AutoFullScreenFrame extends Frame {
    public AutoFullScreenFrame() {
        setTitle("延迟全屏演示");
        setSize(800, 600);
        setLocationRelativeTo(null); // 让窗口先居中显示
        
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowOpened(WindowEvent e) {
                // 窗口完全打开后自动切换到全屏
                GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().setFullScreenWindow(AutoFullScreenFrame.this);
            }
            
            @Override
            public void windowClosing(WindowEvent e) {
                dispose();
                System.exit(0);
            }
        });
    }

    public static void main(String[] args) {
        new AutoFullScreenFrame().setVisible(true);
    }
}

额外小技巧:添加退出全屏的快捷键

可以给窗口加个ESC键退出全屏的逻辑,提升用户体验:

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

// 在Frame构造函数中添加这段代码
addKeyListener(new KeyAdapter() {
    @Override
    public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
            // 退出全屏,恢复普通窗口模式
            GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().setFullScreenWindow(null);
            setSize(800, 600);
            setLocationRelativeTo(null);
        }
    }
});

内容的提问来源于stack exchange,提问作者Jokniserous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:05:43