Java: 視窗置中的方法

假設JFrame的實體是frame,則可以用下面兩種方法使視窗置中

方法一、利用Toolkit類別取得螢幕大小後,再計算出JFrame中間的位置
java.awt.Dimension scr_size =
java.awt.Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(
(scr_size.width - frame.getWidth()) / 2,
(scr_size.height - frame.getHeight()) / 2);
使用這個方法的缺點,是必須要先設定好視窗的寬高屬性,或是仙呼叫pack方法自動設定,否則就沒辦法使視窗顯示在螢幕中央。

方法二、利用JFrame的其中一個方法
frame.setLocationRelativeTo(null);
這個方法我還是頭一次知道,而且這方法還不是新的API所增加的,在Java Document 1.4中久已經有描述,JFrame.setLocationRelativeTo(Component),只要將參數給null值,就可以使視窗置中,而且Java Tutorial也有提到用這個方法。

留言