gpt4 book ai didi

java - JFrame setSize 设置为屏幕大小但减去标题栏

转载 作者:行者123 更新时间:2023-12-02 04:43:30 30 4
gpt4 key购买 nike

我想要尺寸完全适合我的屏幕的 JFrame。我使用 getScreenSize(); 来获取计算机的分辨率并将其设置为 JFrame 的大小。然而,由于标题栏的原因,我发现 Jframe 的尺寸实际上比我的计算机分辨率更大。 (这意味着你会发现 jframe 的底部位于窗口任务栏后面)

以下代码演示了我的问题:

import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;

public class Titlebar extends JFrame {

private final Dimension _screenSize = Toolkit.getDefaultToolkit().getScreenSize();

public void run(){
this.setTitle("TitleBar");
this.setSize(_screenSize);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

public static void main(String[] args) {
Titlebar test = new Titlebar();
test.run();
}
}

是否可以设置 jframe 大小减去标题栏的大小?

最佳答案

有两种方法:1. 只需使用代码“最大化”窗口,即添加以下内容:

this.setExtendedState( this.getExtendedState()|JFrame.MAXIMIZED_BOTH );

您的代码将如下所示:

public class Titlebar extends JFrame {

private final Dimension _screenSize = Toolkit.getDefaultToolkit().getScreenSize();

public void run(){
this.setTitle("TitleBar");
this.setSize(_screenSize);
this.setExtendedState( this.getExtendedState()|JFrame.MAXIMIZED_BOTH );
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

public static void main(String[] args) {
Titlebar test = new Titlebar();
test.run();
}
}

2.此选项是一种解决方法,即始终保持在顶部,然后您将在任务栏上看到它,即添加以下内容:

this.setAlwaysOnTop(true);

您的代码将如下所示:

public class Titlebar extends JFrame {

private final Dimension _screenSize = Toolkit.getDefaultToolkit().getScreenSize();

public void run(){
this.setTitle("TitleBar");
this.setSize(_screenSize);
this.setAlwaysOnTop(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

public static void main(String[] args) {
Titlebar test = new Titlebar();
test.run();
}
}

根据您的需要,您可以选择该选项。但我相信选项 1 对您有好处。

关于java - JFrame setSize 设置为屏幕大小但减去标题栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29909364/

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