国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java技巧:按屏幕比例重新設定一個窗口的大小

2019-11-18 13:27:48
字體:
來源:轉載
供稿:網友

  java Abstract Window Toolkit(AWT)的setSize函數使開發人員可以精確到以象素為單位設置一個窗口的大小。但是通常來講,把一個窗口的大小設置為屏幕大小的某個比例或百分比會輕易的多。
  
  
  
  
  
  下面的基本函數就完成了這個任務。其中size被設置為“int”型,因此當一個新的size被計算出來后,就會從浮點型變量被轉換成整型變量。當水平比例和垂直比例一樣時,該函數就會提供一個更簡單的函數指令,但這會發生超載現象,產生計算錯誤。
  
  /**
   * Resizes the given window to the given ratio of the screen size,
   *
   * @param w Window to resize.
   * @param ratioX double value to change the window horizontal size to.
   * @param ratioY double value to change the 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);
  }
  一些開發人員更喜歡用百分比而不是比例。雖然二者在算術上有一些差異,但這并不影響向應用程序界面(API)添加一些新的函數,而這些函數可以把比例當作百分比來用。
  
  一定要盡可能地重復使用每個函數,因為這樣可以保證每條邏輯都只存儲在一個位置。這樣做的結果就是百分比到比例的轉換只存在于一個位置,而且真正計算size的邏輯并沒有被復制,而只是通過調用sizeWindowOnScreen (Window, double, double)函數被重復使用了。例如:
  
  static public void resizeWindowToScreenPercentage(_
  Window w, double perc) {resizeWindowToScreenPercentage(w, perc, perc);
  }
  static public void resizeWindowToScreenPercentage(_
  Window w, double percX, double percY)
  {
   sizeWindowOnScreen(w, percX/100, percY/100);
  }
  
  最后,開發人員可能希望把窗口大小設置為和屏幕大小一樣,因此開發了一個省事的窗口最大化函數。MaxWindowOnScreen提供了這個功能。我們再次使用前面的函數,就像下面這樣:
  
  static public void maxWindowOnScreen(Window w) {
   sizeWindowOnScreen(w, 1.0, 1.0);
  }
  以上這些設定窗口大小的函數都幫助開發人員簡化了AWT和Swing代碼。更重要的是,這些方法都完美的確保了所有的邏輯都只存儲在一個位置,因此當超載或增加類似功能時,開發人員也可以很輕易的維護和修改代碼。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁乡县| 布尔津县| 尉氏县| 卢湾区| 美姑县| 福海县| 沁水县| 当涂县| 逊克县| 无锡市| 麦盖提县| 广汉市| 通道| 扶绥县| 东明县| 南江县| 天长市| 景德镇市| 岚皋县| 介休市| 天台县| 弥勒县| 哈密市| 湘乡市| 襄樊市| 宁乡县| 信丰县| 昭苏县| 项城市| 娱乐| 上高县| 仪陇县| 贵溪市| 竹山县| 丰城市| 勃利县| 昌吉市| 汤阴县| 观塘区| 七台河市| 定安县|