gpt4 book ai didi

java - 如何设置JFrame的最大尺寸?

转载 作者:行者123 更新时间:2023-11-30 07:20:24 24 4
gpt4 key购买 nike

有如下代码:

double gridWidth=columnNumber*(IMAGE_WIDTH_NORMAL+10)+(columnNumber+2)*10;
double screenWidth=Toolkit.getDefaultToolkit().getScreenSize().getWidth()*0.8;
screenWidth=(gridWidth>=screenWidth) ? screenWidth : gridWidth;

double gridHeight=(rules.size()+2)*(IMAGE_HEIGHT_NORMAL+10)+rules.size()*20+(rules.size()+2)*10;
double screenHeight=Toolkit.getDefaultToolkit().getScreenSize().getHeight()*0.8;
screenHeight=(gridHeight>=screenHeight) ? screenHeight : gridHeight;

setSize((int)screenWidth, (int)screenHeight);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(screenSize.width/2-getWidth()/2, screenSize.height/2-getHeight()/2);
setMaximumSize(new Dimension((int)gridWeight, (int)gridHeight));
setVisible(true);

此代码执行以下操作:计算框架的首选宽度和高度,如果尺寸大于我想要的尺寸(宽度和高度的 80%),则应用程序设置另一个尺寸;但我想让用户点击 jframe 上的“全屏”图标,以最大化 jframe 以获得首选大小(setMaximumSize() 方法),但它的代码不起作用!总是一个窗口最大化到我的笔记本电脑的全屏!我该如何解决?

最佳答案

我不确定我是否正确理解了你的问题,但我建议使用

java.awt.Window#setBounds(int, int, int, int)

设置 JFrame 的位置和大小。

 int x = screenSize.width/2-getWidth()/2;
int y = screenSize.height/2-getHeight()/2;
int width = (int)gridWeight;
int height = (int)gridHeight);
setBounds(x, y, width, height);

为了最大化我建议使用的 JFrame

java.awt.Frame#setExtendedState(int)

像这样

setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);

关于java - 如何设置JFrame的最大尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14060098/

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