文档章节

Java Swing 组件居中显示

brucelee80
 brucelee80
发布于 2013/10/05 13:12
字数 285
阅读 4535
收藏 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图形用户界面布局控制Layout练习

尝试搭建登录对话框,包含两个文字标签(用户名、服务器IP),两个文本输入条(用户名、服务器IP),一个按钮(登录),按照自己认为合适的方式布局。   我把GridLayout(网格布局)、Bor...

devops1024
06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

49.Nginx防盗链 访问控制 解析php相关 代理服务器

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置(502的问题) 12.16 Nginx代理 扩展 502问题汇总 http://ask.apelearn.com/question/9109 location优先级 http://blog....

王鑫linux
58分钟前
0
0
Nginx防盗链、访问控制、解析php相关配置、Nginx代理

一、Nginx防盗链 1. 编辑虚拟主机配置文件 vim /usr/local/nginx/conf/vhost/test.com.conf 2. 在配置文件中添加如下的内容 { expires 7d; valid_referers none blocked server_names *.tes......

芬野de博客
今天
0
0
spring EL 和资源调用

资源调用 import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.core.io.Resource;......

Canaan_
今天
1
0
memcached命令行、memcached数据导出和导入

一、memcached命令行 yum装telnet yum install telent 进入memcached telnet 127.0.0.1 11211 命令最后的2表示,两位字节,30表示过期时间(秒) 查看key1 get key1 删除:ctrl+删除键 二、m...

Zhouliang6
今天
0
0
Linux定时备份MySQL数据库

做项目有时候要备份数据库,手动备份太麻烦,所以找了一下定时备份数据库的方法 Linux里有一个 crontab 命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这...

月夜中徘徊
今天
1
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部