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 之 给窗体换图标、设置启动在屏幕中间、更换皮肤的更多相关文章

  1. java 24 - 7 GUI之 创建多级菜单窗体

    需求: 创建多级菜单 步骤: A:创建窗体对象(并设置属性和布局) B:创建菜单栏 C:创建菜单和子菜单 D:逐步添加菜单(子菜单添加到菜单中,菜单添加到菜单栏中) E:窗体中设置菜单栏(菜单栏并不是 ...

  2. java 24 - 5 GUI之 鼠标移动改变窗体背景颜色

    需求: 创建一个可改变背景颜色的窗口,鼠标移动到按钮上,窗口背景就会改变成特定的颜色 步骤: (大致上) 创建窗口对象 创建按钮对象 添加按钮到窗口中 设置窗口关闭监听事件 设置鼠标进入按钮区域的监听 ...

  3. java 24 - 8 GUI之创建四则运算计算器(未校验版)

    这个是用NetBeans软件制作的,因为这个软件制作GUI任务比较方便 通过拖拽控件生成的窗体:(红色的名称是更改后的控件名称) 拉拽好布局后,要进行的步骤: A:更改想要进行操作的控件的名称(右键控 ...

  4. java 24 - 1 GUI之GUI的概述和基本代码

    GUI(图形用户界面) GUI和CLI的区别: GUI Graphical User Interface(图形用户接口). 用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI Comma ...

  5. java 24 - 10 GUI 之 四则预算的数据校验

    我想要在校验的过程中,如果输入到操作数中的不是数字,则弹出提醒框: 类 JOptionPane  有助于方便地弹出要求用户提供值或向其发出通知的标准对话框 方法名 描述 showConfirmDial ...

  6. java 24 - 6 GUI之 创建只能输入数字的文本框

    需求: 创建一个含有标签和文本框的窗体,其中文本框只能输入数字 步骤:(大致上) 创建窗体对象 创建标签对象 创建文本框对象 把组件添加到窗体中 设置标签的监听事件,对键盘按下的数据进行监听 设置窗体 ...

  7. java 24 - 4 GUI之创建数据转移窗口

    需求: 把文本框中的数据,通过点击按钮,转移到文本域中.  同时清空文本框中的数据 代码:(步骤都注释了) public class FrameDemo4 { public static void m ...

  8. java 24 - 3 GUI之添加按钮

    需求:把按钮添加到窗体,并对按钮添加一个点击事件. A:创建窗体对象 B:创建按钮对象 C:把按钮添加到窗体 D:窗体显示 注意:这里对按钮添加点击事件,同样使用监听器. 但是,这里的按钮是组件,所以 ...

  9. java 24 - 2 GUI之监听机制和适配器改进窗口关闭

    我们创建了窗体后,就要对窗体进行操作,比如关闭窗口.而这时候就要建立监听机制: 事件监听机制: A:事件源 事件发生的地方 B:事件 就是要发生的事情 C:事件处理 就是针对发生的事情做出的处理方案 ...

随机推荐

  1. web页面直接跳转至其他页面

    <script type="text/javascript">window.location.herf="../../XXXXX.aspx";< ...

  2. 规划SharePoint2010的管理员密码更改

    规划自动密码更改 (SharePoint Server 2010) 为了简化密码管理,自动密码更改功能允许您更新和部署密码,而不必在多个帐户.服务和 Web 应用程序之间执行手动密码更新任务.您可以配 ...

  3. WAF指纹识别和XSS过滤器绕过技巧

    [译文] -- “Modern Web Application Firewalls Fingerprinting and Bypassing XSS Filters” 0x1 前言 之前在乌云drop ...

  4. 操作系统开发系列—解释typedef void (*int_handler) ();

    于是我换了一个思路来理解这个typedef 我们首先看常规的变量定义: int INT//定义了一个名为INT的int型变量. char *c//定义了一个名为c的char型指针变量 void(*Fu ...

  5. mac(linux) 上如何安装ant

    1.从http://ant.apache.org/srcdownload.cgi下载ant (用ant src编译后装) 2.解压下载下来的内容到一个文件夹,打开终端先进入到刚才解压后的文件夹如:cd ...

  6. 跨域调用webapi web端跨域调用webapi

    web端跨域调用webapi   在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webap ...

  7. nodejs学习笔记(2)--Express下安装模版引擎ejs

    成功安装完express后,输入express -help,根据提示安装ejs(如下图): 根据提示-e实现安装ejs,注意此处有坑:之前安装的时候根据教程(node.js开发指南第五章5.2.2节) ...

  8. The Accidental DBA

    The Accidental DBA (Day 1 of 30): Hardware Selection: CPU and Memory Considerations 本文大意:      全篇主要讲 ...

  9. 简单看看ThreadPool的源码以及从中看出线程间传值的另一种方法

    这几天太忙没时间写博客,今天回家就简单的看了下ThreadPool的源码,发现有一个好玩的东西,叫做”执行上下文“,拽名叫做:”ExecutionContext“. 一:ThreadPool的大概流程 ...

  10. Spring CharacterEncodingFilter

    <!-- 配置请求过滤器,编码格式设为UTF-8,避免中文乱码--> <filter> <filter-name>springUtf8Encoding</fi ...