Java技巧在屏幕上定位窗口
更新时间:2023-05-31 09:34:01 阅读量: 实用文档 文档下载
- java屏幕输入推荐度:
- 相关推荐
Java Abstract Window Toolkit(AWT)的Window.setLocation函数为开发人员提供了一个条理清晰的方法来解决在用户屏幕上定位一个窗口的问题。但用这个方法就必须考虑精确的象素点,这就很麻烦,而用一个类似于java.awt.BorderLayout的系统就要好的多。
在BorderLayout中,各部分都是由下面这几个区域函数之一定位的:
BorderLayout.NORTH
BorderLayout.SOUTH
BorderLayout.CENTER
BorderLayout.WEST
BorderLayout.EAST
下面的代码用几乎相同的方法在屏幕上定位了一个窗口。它首先确定了五个固定的位置,然后用屏幕大小和窗口大小来定位一个窗口。
package com.generationjava.awt;
import java.awt.Dimension;
import java.awt.Window;
public final class WindowUtilities {
// ints used so a case-switch statement can be used.
static public final int TOP = 0;
static public final int BOTTOM = 1;
static public final int CENTER = 2;
static public final int LEFT = 3;
static public final int RIGHT = 4;
/**
* Position the given window on the screen at the given location,
*
* @param w Window to position
* @param x int horizontal position
* @param y int vertical position
*/
static public void positionWindowOnScreen(Window w, int x, int y) {
Dimension scrn = w.getToolkit().getScreenSize();
Dimension win = w.getSize();
int nx = 0;
int ny = 0;
switch(x) {
case LEFT: nx = 0; break;
case CENTRE: nx = (int)((scrn.width-win.width)/2); break;
case RIGHT: nx = (int)(scrn.width-win.width); break;
}
switch(y) {
case TOP: ny = 0; break;
case CENTRE: ny = (int)((scrn.height-win.height)/2); break;
case BOTTOM: ny = (int)(scrn.height-win.height); break;
}
w.setLocation(nx,ny);
}
}
要确定一个窗口的右下角的位置,就要执行下面的代码:
Window window = ....
WindowUtilities.positionWindowOnScreen(window,_
WindowUtilities.RIGHT, WindowUtilities.BOTTOM);
该方法还可以进行扩展。你可以增加一个简单的centerWindowOnScreen函数,该函数调用了
positionWindowOnScreen函数。例如:
static public final void centerWindowOnScreen(Window w)
{
positionWindowOnScreen(w, CENTER, CENTER);
}
这两个函数简化了在AWT和Swing中所做的工作,使开发人员可以将更多的时间用在开发用户界面上。
正在阅读:
Java技巧在屏幕上定位窗口05-31
李白诗歌教案03-28
蝴蝶定理与燕尾定理04-25
给老师送什么礼物高档送给老师的礼物推荐06-28
《广东省文化贸易存在的问题及对策》10-16
公路竣工验收报告03-11
山西中考英语完形填空训练题附答案03-08
陕西理工学院电气工程及其自动化 - 图文10-23
小学一年级轻声词语14111007-05
2017微信搞笑心情个性签名02-09
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 屏幕
- 定位
- 窗口
- 技巧
- Java
- 中国的创意产业发展现状 以及未来的发展前景
- MARS XPRESS操作规程(消解)
- 江苏省淮安市2013年中考模拟英语试题(一)
- 河北省2010年度道路交通事故人身损害赔偿标准有关数
- 一天的食物教学反思
- 世界上广为流传的著名谜题
- 2011年全国各地中考数学模拟题分类4 因式分解(含答案)
- 广东艺术生高考数学复习资料——3三角函数性质与图像
- 《武侠Q传》为你解开会心伤害解析
- 2019秋统编版三年级上册语文(教学反思参考1)秋天的雨
- 2:机器人灭火0.3
- 五年级语文下册课内阅读复习题
- 水体富营养化实验报告
- 10人员培训与考核管理程序
- 人力资源招聘专科论文
- 现代管理原理形成性考核册
- 火灾及应急疏散预案
- 征兵工作电视动员讲话稿
- 《信息系统安全等级保护定级报告》
- 国家发改委-今年经济形势与宏观调控策略-陈东琪博士-090527