窗体的大小减去组件的大小除以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();
}
}
//这个是构造方法
public MyFrame(){
setSize(200, 300);
setTitle("JLabel Demo");
//下面的代码就是控制窗口居中显示的代码
Toolkit tk = Toolkit.getDefaultToolkit();
setLocation((tk.getScreenSize().height - this.HEIGHT)/2,
(tk.getScreenSize().width - this.WIDTH)/2);
//主代码。。
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
我的时间有限,所以就给你一种方法吧,代码就不能帮你改了,
//
设置窗体大小
int
windowswedth
=
600;
int
windowsheight
=
600;
//
得到显示器屏幕的宽高
int
width
=
toolkit.getdefaulttoolkit().getscreensize().width;
int
height
=
toolkit.getdefaulttoolkit().getscreensize().height;
//设置窗体在显示器居中显示
this.setbounds((width
-
windowswedth)
/
2,
(height
-
windowsheight)
/
2,
windowswedth,
windowsheight);
这是我写的程序中的居中代码,你拿去试试吧,应该好使!
修改后的效果图
修改代码
import java.awt.*;
import javax.swing.*;
class Dome3 {
JPanel jp1;
JLabel jl1, jl2, jl3, jl4, jl5;
JButton jb1;
Dome3() {
JFrame jFrame = new JFrame();
jFrame.setTitle("关于");
jFrame.setSize(460, 600);
jp1 = new JPanel();
jp1.setLayout(new GridLayout(5, 1));
jFrame.add(jp1);
jl1 = new JLabel("欢迎图形界面趣哦", JLabel.CENTER);
jl2 = new JLabel("九江职业技术院", JLabel.CENTER);
jl3 = new JLabel("软件技术教研室制作", JLabel.CENTER);
jl4 = new JLabel("(c)版权所201710月21", JLabel.CENTER);
jb1 = new JButton("确定");
JPanel jpbt = new JPanel();//面板
jpbt.add(jb1);//把按钮放到面板
jp1.add(jl1);
jp1.add(jl2);
jp1.add(jl3);
jp1.add(jl4);
jp1.add(jpbt);//把带按钮的面板jpbt放到jp1面板里
jFrame.setLocationRelativeTo(null);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
}
}
public class Liuhanxiao {
public static void main(String[] args) {
Dome3 d = new Dome3();
}
}