gpt4 book ai didi

Java 屏幕分辨率大小

转载 作者:行者123 更新时间:2023-12-01 12:35:31 27 4
gpt4 key购买 nike

我需要一些关于我正在创建的项目的指导。我目前正在尝试创建一个自动打开屏幕分辨率的 JFrame。我在网上寻求有关该项目这方面的帮助,并且找到了多种方法来做到这一点。在对通过 API 的方法和如何使用这些方法的引用代码进行了更多研究之后,我整理了一些代码。当我运行我的程序时,我会弹出一个像这样的窗口...(不是全屏...)

Program Results

我希望能得到一些关于我搞砸的地方的指示,我更喜欢以提示或技巧的方式提供帮助,但我也会接受代码(抱歉,只是尝试学习而不是复制代码)。感谢您抽出时间。

import java.awt.Toolkit;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.Frame;

public class Window {

private static int ScreenWidth;
private static int ScreenHeight;

public int getWidth(){
return ScreenHeight;
}

public int getLength(){
return ScreenHeight;
}

public void WindowSetup(){
Dimension UserScreen = Toolkit.getDefaultToolkit().getScreenSize();
int ScreenWidth = (int) UserScreen.getWidth();
int ScreenHeight = (int) UserScreen.getHeight();
}

static void CreateJframe(){
JFrame gui = new JFrame("Changeable Resolution");
gui.setDefaultLookAndFeelDecorated(true);
gui.setDefaultCloseOperation(gui.EXIT_ON_CLOSE);
gui.setPreferredSize(new Dimension(ScreenWidth, ScreenHeight));
gui.pack();
gui.setVisible(true);

}


public static void main(String[] args) {
Window window = new Window();
Window.CreateJframe();
}

}

最佳答案

  1. 你永远不会调用WindowSetup
  2. getScreenSize 的结果分配给局部变量
  3. 然后您调用 pack...pack 使用内容的首选大小(而不是窗口)来决定谁最适合调整窗口大小。<

所以这是行不通的...

最简单的方法是使用 JFrame#setExtendedState 并传递 JFrame.MAXIMIZED_BOTH

JFrame gui = new JFrame("Changeable Resolution");
gui.setExtendedState(JFrame.MAXIMIZED_BOTH);
gui.setDefaultCloseOperation(gui.EXIT_ON_CLOSE);
gui.pack();
gui.setVisible(true);

现在,您可能会说,但我想覆盖任务栏...

在这种情况下,您可以尝试更像......的东西

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();

GraphicsConfiguration gc = gd.getDefaultConfiguration();
Rectangle bounds = gc.getBounds();

JFrame gui = new JFrame("Changeable Resolution");
gui.setSize(bounds.width, bounds.height);
gui.setLocation(bounds.x, bounds.y);
gui.setDefaultCloseOperation(gui.EXIT_ON_CLOSE);
gui.setVisible(true);

但是您可能会发现任务栏不喜欢被覆盖,在这种情况下,您需要诉诸全屏独占模式...

参见Full-Screen Exclusive Mode API了解更多详情...

关于Java 屏幕分辨率大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25635601/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com