window = new SketchFrame("画图", this); // Create the app window Toolkit theKit = window.getToolkit(); // Get the window toolkit Dimension wndSize = theKit.getScreenSize(); // Get screen size window.getContentPane().setBackground(Color.black); // Set the position to screen center & size to 2/3 screen size window.setBounds(wndSize.width/6, wndSize.height/6, // Position 2*wndSize.width/3, 2*wndSize.height/3); // Size
其实很简单,JBuilder会自动生成: 代码如下: public BSSIMSApp() { SIMSFrame frame = new SIMSFrame(); //Validate frames that have preset sizes //Pack frames that have useful preferred size info, e.g. from their layout if (packFrame) { frame.pack(); } else { frame.validate(); } //Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.setVisible(true); }
然后根据你的JFrame的大小计算,应该不是很复杂的计算吧?
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension testSize = frame.getSize();
frame.setLocation((screenSize.width-testSize.width)/2,(screenSize.height-testSize.height)/2);
显示的窗口就是在左面的中心
Toolkit kit=Toolkit.getDefaultToolkit();
Dimension screenSize=kit.getScreenSize();
int width=screenSize.width;
int height=screenSize.height;
setLocation((width-frameSize.width)/2,(height-frameSize.height)/2);
同意楼上的方法
Toolkit theKit = window.getToolkit(); // Get the window toolkit
Dimension wndSize = theKit.getScreenSize(); // Get screen size
window.getContentPane().setBackground(Color.black);
// Set the position to screen center & size to 2/3 screen size
window.setBounds(wndSize.width/6, wndSize.height/6, // Position
2*wndSize.width/3, 2*wndSize.height/3); // Size
代码如下:
public BSSIMSApp() {
SIMSFrame frame = new SIMSFrame();
//Validate frames that have preset sizes
//Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame.pack();
}
else {
frame.validate();
}
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}