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:事件处理 就是针对发生的事情做出的处理方案 ...
随机推荐
- LruCache详解之 Android 内存优化
概念: LruCache 什么是LruCache? LruCache实现原理是什么? 这两个问题其实可以作为一个问题来回答,知道了什么是 LruCache,就只然而然的知道 LruCache 的实现原 ...
- Ida双开定位android so文件
Ida双开定位的意思是先用ida静态分析so文件,然后再开一个ida动态调试so文件.因为在动态调试中ida并不会对整个动态加载的so文件进行详细的分析,所以很多函数并无法识别出来.比如静态分析中有很 ...
- Android 手机卫士--打包生成apk维护到服务器
项目打包生成apk过程: 1.生成签名文件,并且指定所在位置 2.使用生成的签名文件,给工程打包生成一个apk 本文地址:http://www.cnblogs.com/wuyudong/p/59033 ...
- Net.Sf.Json java Object to JsonObject
public class People{ private String name; public void setName(String name){ this.name = name; } publ ...
- UISegmentedControl(人物简介)
效果图 当你点击上面人物名字的时候 ,就可以随意切换人物. 这个很有趣 , 你还可以试着添加音乐播放器 .以及一些别的来完善你想做的. 好吧 , 废话不多说 , 上代码. #import " ...
- Java 线程通信
线程通信用来保证线程协调运行,一般在做线程同步的时候才需要考虑线程通信的问题. 1.传统的线程通信 通常利用Objeclt类提供的三个方法: wait() 导致当前线程等待,并释放该同步监视器的锁定, ...
- 敏捷软件开发(4)--- TEMPLATE METHOD & STRATEGY 模式
1.TEMPLATE METHOD 泛型,也就是这个模式,是可以基于泛型的. 我们往往会有一些算法,比如排序算法.它的算法部分,我可以把它放在一个基类里面,这样具体类型的比较可以放在子类里面. 看如下 ...
- mysql-1
接触mysql已经一年多了,但是平时很少用到,仅限于安装部署,最近在学习运维开发,需要用到数据库,于是买了一本mysql必知必会,给自己一个两个星期的时间,学完这本书, 写这一系列的博客,就是记录学习 ...
- C语言(函数)学习之strstr strcasestr
C语言(函数)学习之[strstr]&[strcasestr]一.strstr函数使用[1]函数原型char*strstr(constchar*haystack,constchar*needl ...
- java23种设计模式
http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html#_Toc281750445 http://www.runoo ...