java 24 - 9 GUI 之 给窗体换图标、设置启动在屏幕中间、更换皮肤
A、首先更改窗体左上角的图片
步骤一:
创建3个包,分别建立1个类
第一个是窗体的包,窗体类:设置窗体的主要布置和功能
第二个是资源包,图片:把想要改的图案拉进来
第三个是UI界面包,UI界面设计类:专门对窗体界面进行美化

步骤二:
在UI界面设计类中写代码:
/**
* 做皮肤效果的类
*/
package zl_util; import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JFrame; public class UiUtil {
//私有化
private UiUtil(){}
//修改窗体的图标
//Frame 是带有标题和边框的顶层窗口。
//JFrame 是java.awt.Frame 的扩展版本
public static void setFramerImage(JFrame jf){ //创建工具类对象
//public static Toolkit getDefaultToolkit():获取默认工具包。
Toolkit t = Toolkit.getDefaultToolkit(); //创建图像类对象,并使用工具类根据路径获取图片
Image i = t.getImage("src\\zl_resource\\jjcc.jpg"); //更改窗体的图标
jf.setIconImage(i); //这些搞定后,去设置窗体类的源码中调用这个方法
}
}
步骤三:
窗体类中写主要代码,上一章的。(未校验版本)
只不过这次要在源码中调用步骤二中的,UI界面设计类中的方法,从而实现界面美化
public class NewJFrame1 extends javax.swing.JFrame {
/**
* Creates new form NewJFrame1
*/
public NewJFrame1() {
initComponents();
init();
}
private void init(){
this.setTitle("四则运算计算器");
UiUtil.setFramerImage(this);
}
B、设置窗体一启动就在屏幕的中央
步骤一:在UI界面设计类中添加一个方法:
//设置窗体出现在屏幕中央
public static void setFrameCenter(JFrame jf){
/*
思路:
A:首先获取屏幕的长和宽
B:然后获取窗体的长和宽
C:再用屏幕的长和宽分别减去窗体的,再除以2
D:得到的值作为窗体出现的坐标
*/
//获取默认工具包
Toolkit tl = Toolkit.getDefaultToolkit(); //获取屏幕的长和宽,不确定什么类型,用double类
//public abstract Dimension getScreenSize()
Dimension d = tl.getScreenSize();
double ScreenHeigth = d.getHeight();
double ScreenWidth = d.getWidth(); //获取窗体的长和宽,这个是int类的
int FrameWidth = jf.getWidth();
int FrameHeigth = jf.getHeight(); //相减再除以2,因为设置窗体出现的坐标所需要的是int类的,所以要转换成int类
int Higth = (int)(ScreenHeigth - FrameHeigth)/2;
int Width = (int)(ScreenWidth - FrameWidth)/2; //值作为窗体出现的坐标
jf.setLocation(Width, Higth); //去窗体类中调用该方法
}
步骤二:
去窗体类中调用该方法,不粘贴了。
C、更换窗体的皮肤
步骤一:把相关的皮肤jar文件和相关的皮肤路径包导入

步骤二:
在窗体类中的main方法里使用皮肤:
看绿色和黄色的字段,其它都是抛出的异常。
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
try {
//UIManager 管理当前外观、可用外观集合、外观更改时被通知的 PropertyChangeListeners、外观默认值以及获取各种默认值的便捷方法。
//public static void setLookAndFeel(LookAndFeel newLookAndFeel 将当前外观设置为 newLookAndFeel
UIManager.setLookAndFeel(MyLookAndFeel.SYS_WINDOWS);
} catch (ClassNotFoundException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
}
java 24 - 9 GUI 之 给窗体换图标、设置启动在屏幕中间、更换皮肤的更多相关文章
- java 24 - 7 GUI之 创建多级菜单窗体
需求: 创建多级菜单 步骤: A:创建窗体对象(并设置属性和布局) B:创建菜单栏 C:创建菜单和子菜单 D:逐步添加菜单(子菜单添加到菜单中,菜单添加到菜单栏中) E:窗体中设置菜单栏(菜单栏并不是 ...
- java 24 - 5 GUI之 鼠标移动改变窗体背景颜色
需求: 创建一个可改变背景颜色的窗口,鼠标移动到按钮上,窗口背景就会改变成特定的颜色 步骤: (大致上) 创建窗口对象 创建按钮对象 添加按钮到窗口中 设置窗口关闭监听事件 设置鼠标进入按钮区域的监听 ...
- java 24 - 8 GUI之创建四则运算计算器(未校验版)
这个是用NetBeans软件制作的,因为这个软件制作GUI任务比较方便 通过拖拽控件生成的窗体:(红色的名称是更改后的控件名称) 拉拽好布局后,要进行的步骤: A:更改想要进行操作的控件的名称(右键控 ...
- java 24 - 1 GUI之GUI的概述和基本代码
GUI(图形用户界面) GUI和CLI的区别: GUI Graphical User Interface(图形用户接口). 用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI Comma ...
- java 24 - 10 GUI 之 四则预算的数据校验
我想要在校验的过程中,如果输入到操作数中的不是数字,则弹出提醒框: 类 JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框 方法名 描述 showConfirmDial ...
- java 24 - 6 GUI之 创建只能输入数字的文本框
需求: 创建一个含有标签和文本框的窗体,其中文本框只能输入数字 步骤:(大致上) 创建窗体对象 创建标签对象 创建文本框对象 把组件添加到窗体中 设置标签的监听事件,对键盘按下的数据进行监听 设置窗体 ...
- java 24 - 4 GUI之创建数据转移窗口
需求: 把文本框中的数据,通过点击按钮,转移到文本域中. 同时清空文本框中的数据 代码:(步骤都注释了) public class FrameDemo4 { public static void m ...
- java 24 - 3 GUI之添加按钮
需求:把按钮添加到窗体,并对按钮添加一个点击事件. A:创建窗体对象 B:创建按钮对象 C:把按钮添加到窗体 D:窗体显示 注意:这里对按钮添加点击事件,同样使用监听器. 但是,这里的按钮是组件,所以 ...
- java 24 - 2 GUI之监听机制和适配器改进窗口关闭
我们创建了窗体后,就要对窗体进行操作,比如关闭窗口.而这时候就要建立监听机制: 事件监听机制: A:事件源 事件发生的地方 B:事件 就是要发生的事情 C:事件处理 就是针对发生的事情做出的处理方案 ...
随机推荐
- ADFS 登录页面自定义
https://blogs.technet.microsoft.com/pie/2015/08/29/customizing-the-ad-fs-sign-in-pages-per-relying-p ...
- 高清VGA编码器|上海视涛科技
VGA编码器(E200)简介 高清VGA编码器是上海视涛科技出品的高性能VGA编码产品.该VGA编码器是上海视涛科技完全自主研发,并适用于VGA信号的编码采集及网络传输的专用硬件设备.可兼容各厂家的N ...
- 关于一些网络代理实现智能流量分流的研究(PAC脚本介绍及利用)
因为工作原因,需要访问一些国外的网站(科学上网),但直接FQ并不方便,于是研究了一些代理软件,比如Nydus,Green等, 在Nydus的Proxy版本中发现了实现国内国外流量的智能分流的办法,通过 ...
- Java虚拟机JVM学习02 类的加载概述
Java虚拟机JVM学习02 类的加载概述 类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对 ...
- 调用meitu秀秀.so文件实现美图功能
本文属于实战系列,是对<Android C代码回调java方法>等文的实践,调用meitu秀秀的libmtimage-jni.so文件来实现图片的美化功能 首先反编译得到/libmtima ...
- CocoaPods安装以及相关问题解决
Mac OS X上安装 Ruby环境 安装RVM $ curl -L https://get.rvm.io | bash -s stable 关闭终端,新开另外一个终端(新打开的终端会自动载入RVM环 ...
- [Config]Zabbix的Mongodb插件安装,centos
1.yum install php-devel php-pear httpd-devel 2.安装mongo php驱动,pecl install mongo 3.pecl install mongo ...
- Java Se : Java NIO(服务端)与BIO(客户端)通信
Java目前有三种IO相关的API了,下面简单的说一下: BIO,阻塞IO,最常用的Java IO API,提供一般的流的读写功能.相信学习Java的人,都用过. NIO,非阻塞IO,在JDK1.4中 ...
- 由一个订单推送想到了ObservableCollection的神奇用法
最近在做taobao的一个卖家应用,需要订阅taobao的订单推送,示例代码如下: 看到上面的OnMessage场景之后,我突然就鬼使神差的在想最近写的一个服务,其中的一个功能是需要定时的轮询一个集合 ...
- Windows自动关机命令
winxp中自带了自动关机功能,在开始→运行中使用SHUTDOWN命令 1. 延迟关机关机 shutdown -s -t 120 -s为关机:-t为时间,以秒为单位,120表示2分钟 表示两分钟后关机 ...