[英]Java Screen Resolution Size
我需要有关正在创建的项目的一些指导。 我目前正在尝试创建一个JFrame,它会自动打开到屏幕分辨率。 我在网上寻求有关该项目这一方面的帮助,并且发现了多种实现方法。 在通过API对方法进行了更多研究之后,以及如何使用这些方法的参考代码,我整理了一些代码。 运行程序时,我会看到一个这样弹出的窗口...(不是全屏显示...)
我希望能得到一些有关我搞砸的地方的指针,我希望以技巧或窍门的方式提供帮助,但我也会接受代码(对不起,我只是尝试学习而不是复制代码)。 感谢您的时间。
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();
}
}
WindowSetup
getScreenSize
的结果分配给局部变量 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);
但是您可能会发现任务栏不喜欢被遮盖,在这种情况下,您将需要采用全屏独占模式...
有关更多详细信息,请参见全屏独占模式API 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.