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. python 正则匹配

    正则表达式模式 模式字符串使用特殊的语法来表示一个正则表达式: 字母和数字表示他们自身.一个正则表达式模式中的字母和数字匹配同样的字符串. 多数字母和数字前加一个反斜杠时会拥有不同的含义. 标点符号只 ...

  2. python_django_分页

    分页:把从数据库中的数据分为多页在客户端显示. 在django中,可通过这两个对象来实现: Paginator对象 Page对象 Paginator对象与Page对象的关系: paginator对象调 ...

  3. mongoose 数据库连接

    1安装mongoose npm install mongoose 安装成功 2.打开数据库 mongod --path E:\mongo 成功 创建一个db.js var mongoose = req ...

  4. Java高并发网络编程(二)BIO

    一.阻塞 服务器端 public class BIOServer { public static void main(String[] args) throws Exception { ServerS ...

  5. asp.net Mvc 增删改查

    1.创建项目 已经创建好项目了 2.创建数据库 使用这个数据库或者自己创建一个数据库,一个表就好,简单 USE [LearnAdminlte] GO /****** Object: Table [db ...

  6. jQuery与Vue的区别、从jQuery到Vue框架优点总结

    一.两者的区别 1.数据与视图分离 2.数据驱动视图 二.从jQuery到Vue框架的总结 1.数据与视图分离,解耦 2.数据驱动视图,只关心数据,DOM操作已经被框架封装

  7. Work 4(通知类) (2019.04.25)

  8. ac自动机fail树上按询问建立上跳指针——cf963D

    解法看着吓人,其实就是为了优化ac自动机上暴力跳fail指针.. 另外这题对于复杂度的分析很有学习价值 /* 给定一个母串s,再给定n个询问(k,m) 对于每个询问,求出长度最小的t,使t是s的子串, ...

  9. Chrome 调试跨域问题解决方案之插件篇

    跨域,就是A域名下的js,想请求B域名下的接口数据.跨域,只存在于浏览器端.App和小程序不存在跨域问题.跨域,分浏览器策略和服务器策略. 如果服务器配置了允许跨域,那就没有跨域问题 如果uni-ap ...

  10. 调试口:JTAG与SW-Debug Port