import java.awt.Component;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.Window;
import java.util.Enumeration;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JRootPane;
import javax.swing.LookAndFeel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;
/**
* 提供对AWT,Swing有用的静态方法
*
* @author none
*/
public <st1:rtx>cl</st1:rtx>ass SwingUtil {
/**<o:p></o:p>
* 由此类中方法使用的默认 java.awt.Toolkit<o:p></o:p>
*/<o:p></o:p>
public static final Toolkit toolkit = Toolkit.getDefaultToolkit();
/**<o:p></o:p>
* 将window全屏化,对Window,Frame,Dialog,JWindow,JFrame,JDialog有效<o:p></o:p>
* @param window 全屏化的window<o:p></o:p>
* @see Window,Frame,Dialog,JWindow,JFrame,JDialog<o:p></o:p>
*/<o:p></o:p>
public static void setSizeFu<st1:rtx>ll</st1:rtx>OfScreen(Window window) {
Dimension screenSize = toolkit.getScreenSize();
window.setBounds(0, 0, screenSize.width, screenSize.height);
}
/**<o:p></o:p>
* 将window设置在屏幕中间,对Window,Frame,Dialog,JWindow,JFrame,JDialog有效<o:p></o:p>
* @param window 设置在屏幕中间的window<o:p></o:p>
* @see Window,Frame,Dialog,JWindow,JFrame,JDialog<o:p></o:p>
*/<o:p></o:p>
public static void setToScreenCenter(Window window) {
Dimension screenSize = toolkit.getScreenSize();
Dimension windowSize = window.getSize();
if (windowSize.height > screenSize.height)
windowSize.height = screenSize.height;
if (windowSize.width > screenSize.width)
windowSize.width = screenSize.width;
window.setLocation((screenSize.width - windowSize.width) / 2,
(screenSize.height - windowSize.height) / 2);
}
/**<o:p></o:p>
* 设置全局字体<o:p></o:p>
* @param font 全局字体<o:p></o:p>
*/<o:p></o:p>
public static void initGlobalFontSetting(Font font) {
FontUIResource fontRes = new FontUIResource(font);
for (Enumeration keys = UIManager.getDefaults().keys(); keys
.hasMoreElements();) {
Obje<st1:rtx>ct</st1:rtx> key = keys.nextElement();
Obje<st1:rtx>ct</st1:rtx> value = UIManager.get(key);
if (value instanceof FontUIResource)
UIManager.put(key, fontRes);
}
}
/**<o:p></o:p>
* 在Component上设置光标(Cursor)<o:p></o:p>
* @param c 在此Component上设置光标(Cursor)<o:p></o:p>
* @param image 设置的光标(Cursor)图案<o:p></o:p>
*/<o:p></o:p>
public static void setCursor(Component c, Image image) {
Cursor cursor = toolkit
.createCustomCursor(image, new Point(0, 0), nu<st1:rtx>ll</st1:rtx>);
c.setCursor(cursor);
}
/**<o:p></o:p>
* 设置全局LookAndFeel,此后建立的Swing部件使用此LookAndFeel<o:p></o:p>
* @param lafstr 设置的LookAndFeel<o:p></o:p>
* @return 0:设置成功,1:设置失败<o:p></o:p>
*/<o:p></o:p>
public static int setGloba<st1:rtx>lL</st1:rtx>ookAndFeel(String lafstr) {
try {
UIManager.setLookAndFeel(lafstr);
return 0;
} catch (Exception e) {
return 1;
}
}
<o:p> </o:p>
/**<o:p></o:p>
* 此后建立的JFrame,JDialog是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
*/<o:p></o:p>
private static boolean isUndecorated=false;
<o:p> </o:p>
/**<o:p></o:p>
* 返回此后建立的JFrame,JDialog是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
* @return 此后建立的JFrame,JDialog是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
*/<o:p></o:p>
public static boolean isUndecorated() {
return isUndecorated;
}
<o:p> </o:p>
/**<o:p></o:p>
* 设置此后建立的JFrame,JDialog是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
* @param 是否此后建立的JFrame,JDialog使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
*/<o:p></o:p>
public static void setUndecorated(boolean undecorated) {
LookAndFeel laf = UIManager.getLookAndFeel();
SwingUtil.isUndecorated = undecorated;
JFrame.setDefaultLookAndFeelDecorated(undecorated
&& laf.getSupportsWindowDecorations());
JDialog.setDefaultLookAndFeelDecorated(undecorated
&& laf.getSupportsWindowDecorations());
}
<o:p> </o:p>
/**<o:p></o:p>
* 设置JFrame是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
* @param 是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
*/<o:p></o:p>
public static void setUndecorated(JFrame frame,boolean undecorated){
if(frame.isDisplayable()) frame.dispose();
frame.setUndecorated(undecorated&&UIManager.getLookAndFeel().getSupportsWindowDecorations());
JRootPane jRootPane=frame.getRootPane();
jRootPane.setWindowDecorationStyle(jRootPane.getWindowDecorationStyle());
if(frame.isDisplayable()) frame.show();
}
<o:p> </o:p>
/**<o:p></o:p>
* 设置JDialog是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
* @param 是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
*/<o:p></o:p>
public static void setUndecorated(JDialog dialog,boolean undecorated){
if(dialog.isDisplayable()) dialog.dispose();
dialog.setUndecorated(undecorated&&UIManager.getLookAndFeel().getSupportsWindowDecorations());
JRootPane jRootPane=dialog.getRootPane();
jRootPane.setWindowDecorationStyle(jRootPane.getWindowDecorationStyle());
if(dialog.isDisplayable()) dialog.show();
}
/**<o:p></o:p>
* 更新本程序建立的所有JFrame的LookAndFeel<o:p></o:p>
*/<o:p></o:p>
public static void updateUI(){
Frame[] frames=Frame.getFrames();
for(int i=0;i<frames.length;i++)
updateUI(frames[i]);
}
/**<o:p></o:p>
* 更新Component的LookAndFeel<o:p></o:p>
* @param target 操作对象<o:p></o:p>
*/<o:p></o:p>
public static void updateUI(Component target){
if(target instanceof JFrame)
updateUI((JFrame)target,isUndecorated);
if(target instanceof JDialog)
updateUI((JDialog)target,isUndecorated);
SwingUtilities.updateComponentTreeUI(target);
}
/**<o:p></o:p>
* 更新JFrame的LookAndFeel,改变JFrame的边框,标题<o:p></o:p>
* @param frame 操作对象<o:p></o:p>
* @param undecorated 是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
*/<o:p></o:p>
public static void updateUI(JFrame frame,boolean undecorated){
setUndecorated(frame,undecorated);
SwingUtilities.updateComponentTreeUI(frame);
}
<o:p> </o:p>
/**<o:p></o:p>
* 更新JDialog的LookAndFeel,改变JDialog的边框,标题<o:p></o:p>
* @param dialog 操作对象<o:p></o:p>
* @param undecorated 是否使用LookAndFeel的窗口装饰(标题栏,边框等)<o:p></o:p>
*/<o:p></o:p>
public static void updateUI(JDialog dialog,boolean undecorated){
setUndecorated(dialog,undecorated);
SwingUtilities.updateComponentTreeUI(dialog);
}
}
分享到:
相关推荐
功能描述: 收银员可登录系统,进行收银、会员管理、商品管理、查看消费记录操作; 对会员信息进行查询、添加、...当前为静态版,不使用数据库,数据库版本见https://download.csdn.net/download/u011731544/88308870
五险一金及个人所得税计算方法可根据当地政策自行调整; 系统可以使用Java集合存储数据,也可以使用MySQL数据库。 这个是不含数据库的版本,数据库版本见https://download.csdn.net/download/u011731544/88301209
本项目不含数据库,用Java集合存储数据 ...功能描述: 图书管理系统有三个角色,系统管理员、图书管理员、借阅者; 系统管理员可以添加借阅用户; 图书管理员可以添加图书,操作图书借阅和归还;...
java swing 皮肤大全,一次下载,终生使用,内有3个jar 包,每个包都是以单独的皮肤,我已经总结写成了一个类,在写界面是直接调用即可21个静态产量,如代码 { this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)...
Swing 学生管理系统,简单的静态图形静态图像界面 用户名:admin 密码:admin
系统有管理员和教师两个角色,管理员登录之后可以进行课程管理、学生管理、排课;教师登录后可以进行评分; 学生管理包括查询、添加和修改。查询条件中的学院、系、班级是级联查询;添加学生时根据专业班级自动生成...
目录 目录 1 (一) Spring 开发 Swing GUI 简介...静态和动态合并 139 添加轻量级组件 141 基于服务器的帮助 144 设置 144 JavaHelp 服务器 bean 144 JavaScript 文件 145 JSP 文件 145 测试服务器端帮助 148 结束语 149
功能描述: 系统有四个角色:教师、系主任、教材科、订购商; 教师登录后可提交教材申请,申请内容见下方图片,未提交的申请可修改删除,已提交的申请不能修改删除; 系主任登录后查看本系教师已提交的申请,审批...
(下文中称为JavaFX)语言是一种声明式的静态类型编程语言。它具有第一级函数(first-class functions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系的增量式求值(incremental dependency-...
Spring BootSwing预订 该项目旨在介绍如何创建和配置Spring Boot + JPA / Hibernate Java Swing应用程序。 该项目使用Java,Spring Boot和Swing库构建。目录先决条件版本8+图书馆图书馆名称描述 Spring Boot使得创建...
大名鼎鼎的 java2s 静态网页打包下载 我只是知识的搬运工,版权归属原作者。 是全面学习java不可多得的素材,代码复制粘贴都可运行。 网友给的评论 这个网站非常好,分成三大类,分别是Example、Products、 ...
JavaFX Script™ (下文中称为JavaFX)语言是一种声明式的静态类型编程语言。它具有第一级函 数(first-class functions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系 的增量式求值...
项目介绍:...功能描述: 系统有2个角色,管理员、学生; 管理员登录后可查看、添加、修改、删除学生信息; 学生登录后可查看自己的信息; ... 当前为不含数据库版本,使用Java集合存储数据 ...
Graalvm 安装和静态编译,https://blog.csdn.net/penngo/article/details/128006244的附件,swing,javafx
功能描述: ... ... ... 管理员和财务是两个特殊岗位,管理...五险一金及个人所得税计算方法可根据当地政策自行调整; 这个是MySQL数据库版本,不使用数据库的静态版见https://download.csdn.net/download/u011731544/88301200
颜色RGB / HSL / Java / MATLAB颜色转换+操纵的静态类。 颜色系列。 多变AWT/Swing/MATLAB 图形实用程序。 图透明度等 Project Waterloo 是免费的开源项目,可从以下网址获得: http://sigtool.sourceforge
摆动定位器 本地化标准Java Swing...从SwingLocalizer类调用静态方法localize 。 例子: import by.azzibom.utils.gui.swing.SwingLocalizer ; public class Main { static { SwingLocalizer . localize(); } pu
更新详情: 1、将SwingService修改为内部静态类的方式,把...4、Swing界面的修饰(logo的更改,背景图片的更换,窗口的自适应等) 5、实时更新的math,string,date等二次包装的方法 6、借助jfreechart快速绘制图表
7.3 静态域与静态方法 7.3.1 静态域 7.3.2 静态方法 7.3.3 Math类 7.4 构造方法 7.4.1 默认的域初始化 7.4.2 默认构造方法 7.4.3 拷贝构造方法 7.4.4 重载构造方法 7.4.5 调用构造方法 7.4.6 初始化块 ...