有以下代码:
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() 方法),但它的代码不起作用!总是一个窗口最大化到我的笔记本电脑的全屏!我该如何解决?