科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道按照屏幕比例改变窗口大小

按照屏幕比例改变窗口大小

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  Java Abstract Window Toolkit (AWT,抽象窗口工具包) 允许开发者通过setSize方法按照点来精确改变窗口大小。不过有时候用百分比或比例来指定窗口大小更容易。         下面的这个基本方法可以实现以上功能。

作者:中国IT实验室 来源:中国IT实验室 2007年9月26日

关键字: java

  • 评论
  • 分享微博
  • 分享邮件

  Java Abstract Window Toolkit (AWT,抽象窗口工具包) 允许开发者通过setSize方法按照点来精确改变窗口大小。不过有时候用百分比或比例来指定窗口大小更容易。
  
  
  下面的这个基本方法可以实现以上功能。窗口大小是一个“int”值,所以先将double值转换为int,改变值就可以改变窗口大小了。
  
  /**
  * Resizes the given window to the givenratio of the screen size
  *
  * @param w Window to resize.
  * @param ratioX double value to changethe window horizontal size to.
  * @param ratioY double value to changethe window vertical size to.
  */
  static public void sizeWindowOnScreen(Window w double ratioX double ratioY)
  {
   // java.awt.Toolkit
   Toolkit tk = w.getToolkit();
   // java.awt.Dimension
   Dimension scrn = tk.getScreenSize();
   w.setSize( new Dimension((int)(scrn.width * ratioX)
   (int)(scrn.height * ratioY)
   ) );
  }
  static public void sizeWindowOnScreen(Window w double ratio) {
   sizeWindowOnScreen(w ratio ratio);
  }
  
  不少开发者还是喜欢用百分比而不是比例(ratios)。比例和百分比之间只是一个数学上的转换,并不影响API 对方法的调用。
  
  
  应该确保经常用到方法,这样,每个逻辑大小会被存放在不同区域,通过使用sizeWindowOnScreen (Window, double, double) 方法,百分比与比例的转换会在一个区域里进行,实际的大小不是被拷贝而是被重用了。例如:
  
  
  static publicvoid resizeWindowToScreenPercentage(Window w double perc) {
   resizeWindowToScreenPercentage(wperc perc);
  }
  static public void resizeWindowToScreenPercentage(Window w double percX double percY)
  {
   sizeWindowOnScreen(w percX/100percY/100);
  }
  
  最后,也许有人希望把窗口大小设定为屏幕大小,MaxWindowOnScreen 这个方法可以实现上述功能。如下所示:
  
  static publicvoid maxWindowOnScreen(Window w) {
   sizeWindowOnScreen(w 1.0 1.0);
  }
  
  

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章