📄 utils.java
字号:
/*
* Utils.java 1.0 2003-06-25
*
* Copyleft (c) 2003 RatKing.
*/
package jmine;
import java.awt.*;
/**
* 实用工具类
*
* @author <a href="ratking@ynet.com">RatKing</a>
* @version 1.0
*/
public class Utils {
/**
* 将窗口置于屏幕中央
*/
public static void center(Window w) {
center(null, w);
}
/**
* 将窗口w置于main的中央
*/
public static void center(Window main, Window w) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension mainSize;
Dimension size = w.getSize();
Point location = null;
Point mainLocation;
// 窗口尺寸不得大于屏幕尺寸
if(size.height > screenSize.height)
size.height = screenSize.height;
if(size.width > screenSize.width)
size.width = screenSize.width;
if(main == null) {
location = new Point((screenSize.width - size.width) / 2,
(screenSize.height - size.height) / 2);
}
else {
mainSize = main.getSize();
mainLocation = main.getLocationOnScreen();
location = main.getLocation();
location.x += (mainSize.width - size.width) / 2;
location.y += (mainSize.height - size.height) / 2;
// 窗口必须位于屏幕内部
if (location.x + size.width > screenSize.width) {
location.x = screenSize.width - size.width;
}
if (location.y + size.height > screenSize.height) {
location.y = screenSize.height - size.height;
}
if (location.x < 0) {
location.x = 0;
}
if (location.y < 0) {
location.y = 0;
}
}
w.setSize(size);
w.setLocation(location);
}
/**
* 缩紧并居中显示窗口
*/
public static void packCenterShow(Window main, Window window) {
window.pack();
center(main, window);
window.show();
}
/**
* 缩紧并显示窗口
*/
public static void packPlaceShow(Window window) {
window.pack();
place(window);
window.show();
}
/**
* 重新确定窗口的位置
*/
private static void place(Window w) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension size = w.getSize();
Point location = w.getLocationOnScreen();
boolean sizeChanged = false;
boolean locationChanged = false;
// 窗口尺寸不得大于屏幕尺寸
if(size.height > screenSize.height) {
size.height = screenSize.height;
}
if(size.width > screenSize.width) {
size.width = screenSize.width;
}
// 窗口必须位于屏幕内部
if(location.x < 0) {
location.x = 0;
}
if(location.y < 0) {
location.y = 0;
}
if(location.x + size.width > screenSize.width) {
location.x = screenSize.width - size.width;
}
if(location.y + size.height > screenSize.height) {
location.y = screenSize.height - size.height;
}
w.setSize(size);
w.setLocation(location);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -