文档章节

Java Swing 组件居中显示

brucelee80
 brucelee80
发布于 2013/10/05 13:12
字数 285
阅读 4554
收藏 3

转载自:http://my.oschina.net/brucelee80/blog

一行代码搞定居中

yourComponent.setLocationRelativeTo(null);

// 下面是通过计算来设置居中,可以学习下它的计算方法


居中公式

根据组件的大小和屏幕的大小,计算出组件的中心位置
如下图:灰色是显示屏幕,白色为软件窗口,红色即为需要计算出的居中时的位置

红色点的位置计算:
横轴位置:屏幕宽度/2-窗口宽度/2=(屏幕宽度-窗口宽度)/2
纵轴位置:屏幕高度/2-窗口高度/2=(屏幕高度-窗口高度)/2

Java获取屏幕大小

Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
int width = dimension.width;
int height = dimension.height

Java Component 位置设置相关方法

// 设置位置
setLocation(int, int), setLocation(Point)

// 设置大小
setSize(int, int), setSize(Dimension)

// 设置位置和大小
public void setBounds(int x, int y, int width, int height)
public void setBounds(Rectangle r)

示例代码

// 获取屏幕
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();

// 要设置的组件大小
int width = 300; 
int height = 200;
Component component = ... // 某个Java Component

// 设置为居中显示
component.setBounds((dimension.width - width) / 2, (dimension.height - height) / 2, width, height);


转载自:http://my.oschina.net/brucelee80/blog

© 著作权归作者所有

共有 人打赏支持
brucelee80
粉丝 1
博文 18
码字总数 12525
作品 0
深圳
程序员
SWT、Swing 或 AWT:哪个更适合您?

在为新应用程序选择 GUI 工具包时应该考虑哪些因素? Barry Feigenbaum (feigenba@us.ibm.com), 编程顾问, IBM 本文通过对 Eclipse 的 SWT 和 Java Swing、Abstract Windows Toolkit(AWT)G...

晨曦之光
2012/03/09
0
0
细说Java GUI:AWT,SWT,Swing

历史 Internet上有许多围绕这一争论的故事。你可能已经听说过它们中的大多数了,其中之一有助于让你理清头绪,让我们就从这里开始,Amy Fowler是Swing阵营的一个倡导者。 回到上个世纪90年代...

javasql
2014/02/05
0
2
如何通过jni4net,在Java应用中调用C#接口

下载Dynamic .NET TWAIN 下载jni4net,学习里面的代码实例 在环境变量中设置好JAVAHOME和C:WindowsMicrosoft.NETFrameworkv3.5csc.exe 解压JavaTwain,在dll目录中运行工程,编译出JavaTwain...

yushulx
2014/07/02
0
0
GUI开发之AWT、SWING、SWT和JFACE的比较

核心提示:AWT Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包。在任何一个 Java 运行环境中都可以使用它。 AWT 是一个非常简单的具有有限 GUI 组件、布局管理器和事件的工具包...

AlphaJay
2010/07/23
0
0
java swing 组件技术(上)

第一次写自己的博客,明知道写得很水,还是努力去写了,希望踏出第一步之后,能有着更好的发展。这几天看了一些资料,总结了一下自己所学的关于java swing的知识。 一、 java swing 组件技术...

静心天涯
2013/06/14
0
6

没有更多内容

加载失败,请刷新页面

加载更多

Spring加载properties文件的两种方式

在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修...

架构师springboot
17分钟前
0
0
分布式事务,原来可以这么玩?

多个数据要同时操作,如何保证数据的完整性,以及一致性? 答 : 事务 ,是常见的做法。 举个栗子: 用户下了一个订单,需要修改 余额表 , 订单 表 , 流水 表 ,于是会有类似的伪代码: st...

微笑向暖wx
20分钟前
1
0
IE6兼容PNG32图片显示PNG8图片

IE6并不是不支持PNG图片,只是不支持半透明通道。 是支持PNG8色表引索全透明的。 以往都是通过滤镜或统统使用PNG8实现兼容。 但是我发现twitter的png图标可以在chrome中显示png32,在IE6显示...

linsk1998
32分钟前
0
0
linux运维需要掌握的基础知识

踏入linux运维工程师这一职业,其实有很多工具技能需要掌握,下面我来给大家一一介绍。 1、shell脚本和另一个脚本语言,shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些...

linuxprobe16
33分钟前
0
0
《netty入门与实战》笔记-03:数据传输载体 ByteBuf 介绍

ByteBuf结构 首先,我们先来了解一下 ByteBuf 的结构 以上就是一个 ByteBuf 的结构图,从上面这幅图可以看到: ByteBuf 是一个字节容器,容器里面的的数据分为三个部分,第一个部分是已经丢弃...

Funcy1122
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部