admin管理员组

文章数量:1558098

JFrame窗口在屏幕中间显示

复习了一下java,练习书上java图形化界面代码,JFrame窗口总是在电脑屏幕左上角显示出来,就想着有没有哪个方法直接把它显示在屏幕中间,setVisible(true)这种,找了许久没找到,好家伙,我就上网直接搜,搜到下面方法(亲测有效),未免以后遗忘,写篇博客记一下,方法步骤如下(代码在最下面)。

总共分为三步:
1、在Toolkit类上调用一个静态方法getDefaultToolkit() ,以便为这个平台在AWT的Toolkit对象上获得一个句柄。

2、然后调用Toolkit对象的getScreenSize()方法,该方法返回一个Dimension(中文意为尺寸)类对象。Demension对象正好有两个public int属性,即width(以像素为单位),和heigth(以像素为单位).

3、把这种方法调用“系”在一起,因为我们不想长时间的保持Toolkit对象。我们只想暂时用它来恢复屏幕的Dimension对象

代码如下:

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
public class HelloWorldSwing {
	public static void main(String args[]) {
		JFrame frame=new JFrame("HelloWorldSwing");
		final JLabel label=new JLabel("hello world");
		JButton b=new JButton("ni hao");
		
		frame.getContentPane().add(b);
		frame.getContentPane().add(label);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//		frame.setSize(400, 70);
		Toolkit kit = Toolkit.getDefaultToolkit();
		Dimension screenSize = kit.getScreenSize();
		int screenHeight = screenSize.height;
		int screenWidth = screenSize.width;

		frame.setVisible(true);
		frame.setBounds(screenWidth/4, screenHeight/4, screenWidth/2, screenHeight/2);
	}
}

本文标签: 屏幕窗口JFrame