如何把Java程序窗口在屏幕中间显示
作者:daisy 发布时间:2022-12-20 04:59:32
标签:java,窗口,程序,位置
举例说明:
1、有一个200*200像素的窗口,想要把它放在800*600像素的屏幕中间,屏幕的位置应是(800/2,600/2)=(400,300)
2、为了设置该窗口左上角的位置,以使窗口中心与屏幕中心相吻合,必须符合2个小条件(1)窗口的一半或100像素必须落在屏幕的中心的左边(2)窗口的一半或100像素必须落在屏幕的中心的上方,因此窗口左上角的位置必须定位于(400-100,300-100)=(300,200)
如下图所示:
但在实际程序运行的过程中,程序的运行环境显示屏幕的实际尺寸和像素清晰度是不尽相同的,我们必须能动态的判断运行Java程序的计算机屏幕的大小,以使程序不管运行在什么计算机上都能居中,JAVA的AWT提供了一个Toolkit
类,以使我们做出判断!
具体应用
1、在Toolkit
类上调用一个静态方法getDefaultToolkit()
,以便为这个平台在AWT的Toolkit
对象上获得一个句柄。
2、然后调用Toolkit
对象的getScreenSize()
方法,该方法返回一个Dimension
(中文意为尺寸)类对象。Demension
对象正好有两个public int
属性,即width
(以像素为单位),和heigth
(以像素为单位)
3、把这种方法调用“系”在一起,因为我们不想长时间的保持Toolkit
对象。我们只想暂时用它来恢复屏幕的Dimension
对象
代码:
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
因此不必向引用变量分配Toolkit对象的句柄。
程序代码:
import javax.swing.*;
public class FrameTest {
public static void main (String[] args) {
JFrame theFrame = new JFrame(“Whee!!!”);
theFrame.setSize(200, 200);
dimension frameSize=theFrame.getSize();
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
int centerX = screenSize.width/2;
int centerY = screeSize.height/2;
theFrame.setlocation(centerX-halfwidth,centerY-halfHeight);
theFrame.setVisible(true);
}
}
总结


猜你喜欢
- Springboot使用test无法启动test无法启动,遇到java.lang.IllegalStateException: Unable
- 本文实例为大家分享了Android SeekBar实现平滑滚动的具体代码,供大家参考,具体内容如下由于项目需要,SeekBar只需要三个档,
- 混淆器通过删除从未用过的代码和使用晦涩名字重命名类、字段和方法,对代码进行压缩,优化和混淆。结果是一个比較小的.apk文件,该文件比較难进行
- 一.需求使用JAVA实现单链表,使用单链表检测字符串是否是回文串二.需求分析回文串最重要的就是对称,那么最重要的问题就是找到那个中心,用快指
- 目录Future -> 代表的是未来的一个凭据AsynFuture -> Future具体实现类FutureService -&
- 前言Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBa
- using System;using System.Collections.Generic;using System.ComponentMo
- 一、deleteById 和 delete为什么要把这两个方法放在一起呢?我们先看源码再说deleteById(Id id)(通过id进行删
- 相信大家对SaaS架构都有所了解,这里也不过多介绍,让我们直奔主题。技术框架springboot版本为2.3.4.RELEASE持久层采用J
- 方式一 通过Map.keySet使用iterator遍历@Testpublic void testHashMap1() { Map<I
- 这篇文章主要介绍了java property配置文件管理工具框架过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 短网址应用已经在全国各大微博上开始流行了起来。例如QQ微博的url.cn,新郎的sinaurl.cn等。我们在QQ微博上发布网址的时候,微博
- 本文主要介绍Java Date 日期类型,以及Calendar的怎么获取时间,然后写成时间工具类里面有下面这些方法:- 时间转字符串(有默认
- 页边距是指页面的边线到文字的距离。通常可在页边距内部的可打印区域中插入文字和图形,也可以将某些项目放置在页边距区域中(如页眉、页脚和页码等)
- 什么是委托?委托是寻址方法的.NET版本,使用委托可以将方法作为参数进行传递。委托是一种特殊类型的对象,其特殊之处在于委托中包含的只是一个活
- 1、题目描述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知
- 前言Java中容器对象主要用来存储其他对象,根据实现原理不同,主要有3类常用的容器对象:1、ArrayList 使用数组结构存储容器中的元素
- 本文实例讲述了C#实现抓取和分析网页类。分享给大家供大家参考。具体分析如下:这里介绍了抓取和分析网页的类。其主要功能有:1、提取网页的纯文本
- Java对自动登陆功能的简单实现,仅用到了servlet和一个filter。第一次写博文,如有不足的地方,敬请指正,谢谢。登陆界面<%
- 目标:list中有0到39共40个元素,删除其中索引是10、20、30的元素方案一:使用普通for循环从前往后遍历再删除//初始化List列