2013年6月26日 星期三

關於Java JFrame 常用功能


JFrame就是Java桌面的應用程序視窗。

※設定關閉JFrame後的動作:

  • setDefaultCloseOperation(EXIT_ON_CLOSE);
  • 會呼叫系統的Exit method,如此才會釋放OS的記憶體。

是否能夠讓使用者改變視窗大小:

  • setResizable(false);
  • false將不可以改變大小,true可以。


設定JFrame的ICON:
  • setIconImage(new ImageIcon("your image path").getImage());
  • 路徑範例: "images\\frame_icon.png"

設定寬高:
  • setSize(500, 400);

設定視窗顯現:
  • setVisible(true);

※焦點設定到JFrame上
  • setFocusable(true);

※取消組件的Focus效用
  • setFocusable(false);

btn.setFocusPainted(false);


※注意若要使用JFrame的KeyListener事件,那麼Focus一定要在JFrame上才有作用。

※其他組件必須取消或得Focus或是當其他組件事件發生完畢,必須將Focus設定回JFrame。






Java 計算String在畫面上的Width

案例:想知道字串在畫面上的width是否會超出Label的Width。

使用:
  1. 使用Componet中的 FontMetrics getFontMetrics(Font font) 方法取回FontMetrics。
  2. 使用FontMetrics中的int stringWidth(String str) 取回字串寬度。

Componet的名稱空間:

 java.lang.Object
    extended by java.awt.Component

FontMetrics的名稱空間:


範例: