Java开发桌面程序用AWT或SWING,可以用设置主窗口位置,使主窗口居中一般使用下面的方法:

01、第一种方法 
        
     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);//设置窗口居中显示

02、第二种方法

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); 

 
03、第三种方法,是jdk1.4之后提供的方法      
  setLocationRelativeTo(owner);    //  这种方法是设定一个窗口的相对于另外一个窗口的位置(一般是居中于父窗口的中间),如果owner==null则窗口就居于屏幕的中央。 
  
  所以最快的设置方法是:  jf.setLocationRelativeTo(null);   //使窗体居中
 
 

04、第四种方法,
 
可用于多个显示屏合起来组成的大型屏幕同时显示一个窗口时,也能实现居中功能,向之前的窗口居中方法,仅限于当前窗口一个屏幕居中。 
private void setFrameCenterToScreenCenter_2(){
Point pointSreenCenter = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint(); 
setLocation(pointSreenCenter.x-getSize().width/2, pointSreenCenter.y-getSize().height/2); 
 
 

Java Swing 窗体屏幕居中的更多相关文章

  1. Java Swing窗体小工具实例 - 原创

    Java Swing窗体小工具实例 1.本地webserice发布,代码如下: 1.1 JdkWebService.java package server; import java.net.InetA ...

  2. Java Swing快速构建窗体应用程序

    以前接触java感觉其在桌面开发上,总是不太方便,没有一个好的拖拽界面布局工具,可以快速构建窗体. 最近学习了一下NetBeans IDE 8.1,感觉其窗体设计工具还是很不错的 , 就尝试一下做了一 ...

  3. java swing窗口放置屏幕中央问题思考

    java swing窗口放置屏幕中央问题思考 以前总是尝试各种方法都没有能把组件放到屏幕中央,只能用死办法,设置绝对坐标,但这样就失去了可移植性,而且繁琐.今天仔细思考了一番,终于被我找出问题所在. ...

  4. java在线聊天项目 swt可视化窗口Design 登录框注册按钮点击改变窗口大小——出现注册面板 实现打开登录框时屏幕居中

    登录框注册按钮点击改变窗口大小——出现注册面板  首先用swt可视化设计登录窗口如下图: 此时窗口高度为578 没点击注册时高度为301(可自己定) 注意:注册用户的Jpanel 的border选择T ...

  5. atitit.窗体静听esc退出本窗体java swing c# .net php

    atitit.窗体静听esc退出本窗体java swing c# .net php 1. 监听esc  按键 1 1.1. 监听一个组件 1 1.2. 监听加在form上 1 2. 关闭窗体 2 1. ...

  6. Java Swing 使用总结(转载)

    随笔转载自:此去经年ぢ 地址:http://www.cnblogs.com/FLFL/p/5369756.html 1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在 ...

  7. java swing 添加 jcheckbox复选框

    总体上而言,Java Swing编程有两大特点:麻烦.效果差. 麻烦是说由于设计器的使用不方便(如果您希望使用窗体设计器通过快速拖拽控件建立您的Java Swing GUI程序,请您使用MyEclip ...

  8. 「超市管理系统——商品管理」 · Java Swing + MySQL JDBC开发

    项目下载:https://download.csdn.net/download/weixin_44893902/13715024 1.9元付费赞助下载:https://download.csdn.ne ...

  9. Java Swing 第03记 布局管理器

    几种Swing常用的布局管理器 BorderLaout 它将容器分为5个部分,即东.南.西.北.中,每一个区域可以容纳一个组件,使用的时候也是通过BorderLayout中5个方位常量来确定组件所在的 ...

随机推荐

  1. Oracle 环境部署 以及数据库创建 ,用户新建和权限分配

    1.右键我的电脑--->属性--->高级系统设置 2.环境变量---->新建 总共配置三个变量 (1)变量名 ORACLE_HOME 变量值 G:\app\TH\product\11 ...

  2. 存储过程分页查询和在ado.net中的使用,返回查询总数

    1.创建查询分页的存储过程 CREATE PROCEDURE PageQuery @tableName VARCHAR(),-- 表名 @strWhere VARCHAR(),-- 查询条件 @col ...

  3. 【Luogu】【关卡2-15】动态规划的背包问题(2017年10月)【还差一道题】

    任务说明:这是最基础的动态规划.不过如果是第一次接触会有些难以理解.加油闯过这个坎. 01背包二维数组优化成滚动数组的时候有坑有坑有坑!!!必须要downto,downto,downto 情景和代码见 ...

  4. Java工程师面试linux操作选择面试题大全

    1.请写出常用的linux指令不低于10个,请写出linux tomcat启动.linux指令arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)shutdown -h n ...

  5. Python爬虫实战——反爬机制的解决策略【阿里】

    这一次呢,让我们来试一下"CSDN热门文章的抓取". 话不多说,让我们直接进入CSND官网. (其实是因为我被阿里的反爬磨到没脾气,不想说话--) 一.URL分析 输入" ...

  6. java中文乱码转换

    String str=URLDecoder.decode(String, "UTF-8")

  7. javascript onclick事件可以调用两个方法吗?

    答案是:可以的,onclick事件可以调用多个方法,每个方法之间用分号(:)隔开即可. onclick后面其实是可以写任何代码的,但是一般不建议这么写!! 例:onclick="fun1() ...

  8. spring启动异步线程

    大纲: spring启动异步线程 spring配置线程池 一.spring启动异步线程 spring启动异步线程方法就是在方法上加上注解@Async,然后启动类或配置类上加上注解@EnableAsyn ...

  9. C之输入输出函数(3) -- 请使用sscanf()

    #include <stdio.h> int fscanf(FILE *__restrict__stream, const char *__restrict__format-string, ...

  10. vmware下搭建openwrt

    最近闲来无事,想研究下openwrt, 所以尝试着自己搭建一个来玩玩, 当然这里不是以源码编译的形式,那样太耗时. 首先官网下载已有的系统image,  路径如下 : https://archive. ...