如果要使主窗口 居中一般使用下面的方法:
import javax.swing.JFrame;
import java.awt.Toolkit;
import java.awt.Dimension;
public class ToCenter
{
public ToCenter(JFrame frame)
{
//---------------------------設(shè)置窗口居中----------------------------------------------------------
int windowWidth = frame.getWidth(); //獲得窗口寬
int windowHeight = frame.getHeight(); //獲得窗口高
Toolkit kit = Toolkit.getDefaultToolkit(); //定義工具包
Dimension screenSize = kit.getScreenSize(); //獲取屏幕的尺寸
int screenWidth = screenSize.width; //獲取屏幕的寬
int screenHeight = screenSize.height; //獲取屏幕的高
frame.setLocation(screenWidth/2-windowWidth/2, screenHeight/2-windowHeight/2);//設(shè)置窗口居中顯示
//------------------------------------------------------------------------------------------------
}
}
當然你也可以讓一個Window對象、JWindow對象或Frame對象居中,以下是更通用的方法:
Toolkit kit = Toolkit.getDefaultToolkit(); // 定義工具包
Dimension screenSize = kit.getScreenSize(); // 獲取屏幕的尺寸
int screenWidth = screenSize.width/2; // 獲取屏幕的寬
int screenHeight = screenSize.height/2; // 獲取屏幕的高
int height = this.getHeight();
int width = this.getWidth();
setLocation(screenWidth-width/2, screenHeight-height/2);
另外一種方法,也是jdk1.4之后提供的方法:
dialog.setLocationRelativeTo(owner);
這種方法是設(shè)定一個窗口的相對于另外一個窗口的位置(一般是居中于父窗口的中間),如果owner==null則窗口就居于屏幕的中央(這是一個比較好的方法,對于主窗口就不用再使用上面第一種方法來實現(xiàn)了!!!)。