方法一:

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);// 设置窗口居中显示

方法二:

this.setLocationRelativeTo(null);//窗口在屏幕中间显示

方法三:

窗体都是相对于桌面(屏幕区域减去任务栏区域)而不是屏幕居中。

另外在 setLocationRelativeTo 内部也是通过调用 getCenterPoint 获得桌面中心点坐标的,所以上面第一种方式效率能稍稍高点。

import java.awt.GraphicsEnvironment;

import java.awt.Point;

import javax.swing.JFrame;

@SuppressWarnings("serial")

public class MyFrame extends JFrame {

private final int INIT_W = 600;  //窗体初始宽度

private final int INIT_H = 460;  //窗体初始高度

public MyFrame() {

super("Center Frame Test");

Point p = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint();

setBounds(p.x - INIT_W / 2, p.y - INIT_H / 2, INIT_W, INIT_H);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new MyFrame().setVisible(true);

}

}

java怎么让窗口居中显示图片_Java_Swing中让窗口居中显示的方法(三种方法)相关推荐

  1. java中如何启动一个新的线程三种方法

    java开启新线程的三种方法: 方法1:继承Thread类 1):定义bai一个继承自Java.lang.Thread类的du类A. 2):覆盖zhiA类Thread类中的run方法. 3):我们编写 ...

  2. 图片高清放大效果怎么做?这三种方法分享给你

    怎么给图片进行放大呢?有时我们需要将图片放大以便更好地查看细节或者提高图片的清晰度.例如在演示或者展示中需要展示细节时,需要将图片放大以便观众更好地看到细节,或者是编辑图片时,需要将图片放大以便更好地 ...

  3. java中判断字符串是否为数字的三种方法

    1用JAVA自带的函数 public static boolean isNumeric(String str){for (int i = str.length();--i>=0;){ if (! ...

  4. java怎么判断一个char是汉字_JAVA中判断char是否是中文的几种方法

    展开全部 对照最新版本的 Unicode (最少是62616964757a686964616fe59b9ee7ad9431333335343330 6.0  版本,不知道现在是否有 7.0) 里面找从 ...

  5. java 文本域不可编辑_实现表单input文本框不可编辑的三种方法

    问题 有时,我们需要以不可编辑的模式显示表单域,那么如何实现?我们可以通过为表单字段(input文本框,标签,复选框,文本区域)设置以下方法来实现表单的不可编辑功能. 实现方式 1.οnfοcus=t ...

  6. 企鹅极光盒子显示服务器连接失败,企鹅极光盒呢?这三种方法告诉你如何解决他们...

    智能电子产品现在最担心的问题是卡住了,这大大影响了使用体验,现在我在网上看到一些网友说他们买了腾讯企鹅极光盒,但是,没过多久企鹅极光盒就卡住了,因为我用了一段时间这个电视盒,确实有时候在帮你盘点电视盒 ...

  7. java sendmessage函数_Unity3D中的SendMessage使用(消息传递的三种方法)

    概述 Unity提供的消息推送机制可以非常方便我们的脚本开发,它实现的是一种伪监听者模式,利用的是反射机制. 常用函数 关于消息推送,常用的函数有三个:"SendMessage". ...

  8. java 不知道类名_Java 中获取类名的三种方法,你知道几种?

    之前我们分享过Java高级篇--深入浅出Java类加载机制这篇文章,今天来带你了解获取类名的三种方法. 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里 ...

  9. java equals 判断空_Java 判断字符串是否为空的三种方法与性能分析

    [java中判断字符串是否为数字的三种方法  1>用JAVA自带的函数 public static boolean isNumeric(String str){   for (int i = s ...

最新文章

  1. Nature Microbiology:火眼金睛,肠道菌群绝对定量分析擒“真凶”!
  2. Spring学习五(JDBC支持)
  3. wxWidgets:测试样品
  4. html修改span中的内容,在HTML中抓取span的内容
  5. Vijos p1097 合并果子
  6. Spring系列(十三):AOP相关知识笔记
  7. selenium自动化测试_维持Selenium测试自动化的完美方法
  8. Spring Cloud Sleuth进阶实战
  9. angular 渐进_如何创建具有Angular和无头CMS的渐进式Web应用程序
  10. linux-2.6内核模块引用计数的实现(try_module_get和module_put)
  11. bluecam连接步骤说明_迈拓维距Type-C扩展坞手机连接电视图文教程
  12. 【干货】js 数组操作合集(前端自我修养)
  13. python合并excel某一列内容_使用Python横向合并excel文件的实例
  14. gliffy UML破解工具
  15. Corel VideoStudio X7 (64bit)安装
  16. 编译原理实验之词法分析
  17. 信息学奥赛一本通|1179:奖学金
  18. 【Web安全笔记】之【11.0 其他】
  19. 360度全景图可以手动旋转的怎么制作?
  20. 偷偷赚钱的副业(真实有效)

热门文章

  1. oracle伪列ROWNUMBER,oracle 中 rownum 和 row_number()
  2. origin 修改水平坐标的刻度
  3. 单进程epoll版-TCP服务器(python 版)
  4. MySQL 重中之重 [ 事物 ]
  5. 记一次YY笔试中卡住得知识点
  6. 机器学习的算法和普通《算法导论》里的算法有什么本质上的异同
  7. Visual Studio 2008下AJAX的设置
  8. ASP.Net请求处理模式
  9. tomcat6配置log4j日志
  10. 任意占空比的方波程序