十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
mypl8110627 的方法当然是可以的,但是如果要考虑任务栏高度之类的还要调用 getScreenInsets() 方法。
创新互联建站-专业网站定制、快速模板网站建设、高性价比青秀网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式青秀网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖青秀地区。费用合理售后完善,10多年实体公司更值得信赖。
其实有一个更简单的方法,只要一句话:你在 f.setSize(500, 600); 下面再加上:f.setLocationRelativeTo(null); 就OK了。
Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
int width = (int)screensize.getWidth();
int height = (int)screensize.getHeight();
/*通过以上代码获取屏幕的尺寸,然后使用相应的代码获取你的窗口尺寸,然后进行相应的运算,可以获取你的界面左上角所在位置的坐标*/
最后,setLocationRelativeTo(null); //居中显示
用窗体的大小减去组件的大小除以2即可活的居中的位置
代码示例,我写的:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Test extends JFrame
{
private JButton button;
public Test()
{
super("按钮居中显示示例");
button=new JButton("满意答案");
button.setSize(100,50);
Container rongqi=this.getContentPane();
rongqi.setLayout(null);
rongqi.add(button);
setSize(400,200);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//关键代码,设置按钮位置
button.setBounds((this.getWidth()-button.getWidth()-5)/2,(this.getHeight()-28-button.getHeight())/2,
button.getWidth(),button.getHeight());
setVisible(true);
}
public static void main(String[]args)
{
new Test();
}
}