我有一个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);
}
...
}这是正确的方式吗?我不是很熟悉图形用户界面应用程序design..and,我想我可以这样使用Dimension.setSize(双倍宽,双高)。
打印语句导致了此输出。
height=768
width=1366
0.80*height=614.4
0.90*width=1229.4
newheight=692
newwidth=1093当然,newheight和newwidth不是width和height值的80%或90%。
欢迎提出任何改善建议
谢谢
标记
发布于 2011-05-28 01:57:53
这花了我一些时间,但这只是一个错误的类型。
实际上,你计算的是90%的宽度和80%的高度,而不是80%的宽度和90%的高度。
交换这两个百分比,一切都会很好。
https://stackoverflow.com/questions/6155885
复制相似问题