首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Dimension.setSize设置JFrame的大小

使用Dimension.setSize设置JFrame的大小
EN

Stack Overflow用户
提问于 2011-05-28 01:46:26
回答 1查看 2.7K关注 0票数 1

我有一个gui应用程序,我需要将主JFrame的大小设置为屏幕宽度的80%和屏幕高度的90%。

代码语言:javascript
复制
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(双倍宽,双高)。

打印语句导致了此输出。

代码语言:javascript
复制
height=768
width=1366
0.80*height=614.4
0.90*width=1229.4
newheight=692
newwidth=1093

当然,newheight和newwidth不是width和height值的80%或90%。

欢迎提出任何改善建议

谢谢

标记

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-28 01:57:53

这花了我一些时间,但这只是一个错误的类型。

实际上,你计算的是90%的宽度和80%的高度,而不是80%的宽度和90%的高度。

交换这两个百分比,一切都会很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6155885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档