如何解决使用Dimension.setSize设置JFrame的大小
| 我有一个GUI应用程序,需要将主JFrame的大小设置为屏幕的80% 宽度和屏幕高度的90%。我尝试过public class JFrameDemo extends JFrame{
public JFrameDemo(String title) throws HeadlessException {
super(title);
setLayout(new GridBagLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int height = screenSize.height;
int width = screenSize.width;
screenSize.setSize(width*(0.80),height*(0.90));
int newheight = screenSize.height;
int newwidth = screenSize.width;
//Then I put some print statements in the code
System.out.println(\"height=\"+height);
System.out.println(\"width=\"+width);
System.out.println(\"0.80*height=\"+(height*0.80));
System.out.println(\"0.90*width=\"+(width*0.90));
System.out.println(\"newheight=\"+newheight);
System.out.println(\"newwidth=\"+newwidth);
this.setSize(newwidth,newheight);
this.addWidgets();
this.setVisible(true);
}
...
}
这是正确的方法吗?我对gui应用程序设计不是很熟悉。
我可以这样使用Dimension.setSize(double width,double height)。
打印语句导致此输出。
height=768
width=1366
0.80*height=614.4
0.90*width=1229.4
newheight=692
newwidth=1093
好吧,newheight和newwidth不完全是width,height值的80%或90%。
有任何改进建议
谢谢
标记
解决方法
我花了一段时间,但这只是一个错误的类型。
实际上,您计算的是宽度的90%和高度的80%,而不是宽度的80%和高度的90%。
交换两个百分比,一切正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。