java 获取屏幕分辨率和显示器信息

获取屏幕分辩率

java中awt框架中提供有直接获取分辨率的方法,如下:

Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
//宽
int width = screenSize.width;
//高
int height= screenSize.height;

 如屏幕分辨率是1920*1080时,scrSize.width的值为1920,scrSize.height的值为1080。

获取显示器大小

 获取屏幕分辨率

上面内容可以获取

获取每英寸的像素点

// 每英寸像素点
double dpi = tk.getScreenResolution();

获取显示器实际宽高(英寸)

// 实际宽度(英寸)
double widthValue = screenSize.width / dpi;
// 实际高度(英寸)
double heightValue = screenSize.height / dpi;

获取显示大小

ps:我们平时所说显示器多少英寸,实际为显示器对角线大小为多少英寸。

// 计算屏幕大小 对角线长度,勾股定理
double len = Math.sqrt(widthValue * widthValue + heightValue * heightValue);

输出结果:22.946949688357275,即23英寸

屏幕已占用范围

Insets scrInsets = Toolkit.getDefaultToolkit().getScreenInsets(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration());

除去任务栏,scrInsets对象的left、right、top、bottom的值分别就是屏幕四边所占大小,如:bottom:40;left:0;right:0;top:0,即上左右占满,下边任务栏占40px

实现满屏大小

int x = scrInsets.left;
int y = scrInsets.top;
int width = scrSize.width-scrInsets.left-scrInsets.right;
int height = scrSize.height-scrInsets.top-scrInsets.bottom;

可以通过设置坐标方法,setBounds将自定义窗口设置满屏。

自定义dialog获取最小宽度

@Override
protected Point getInitialSize() {
	// TODO Auto-generated method stub
    //return new Point(350, 340);
	Point requiredSize= getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
	return requiredSize;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值