簡體   English   中英

Java屏幕分辨率大小

[英]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();      
}

}

  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);

但是您可能會發現任務欄不喜歡被遮蓋,在這種情況下,您將需要采用全屏獨占模式...

有關更多詳細信息,請參見全屏獨占模式API

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM