我需要为我正在创建的这个项目指点一些方向。我目前正在尝试创建一个自动打开屏幕分辨率的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();
}
}
答案 0 :(得分:1)
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);
但是您可能会发现任务栏不被覆盖,在这种情况下,您需要采用全屏独占模式...
有关详细信息,请参阅Full-Screen Exclusive Mode API ...