zoukankan      html  css  js  c++  java
  • java 24

    A、首先更改窗体左上角的图片

    步骤一:

     创建3个包,分别建立1个类

      第一个是窗体的包,窗体类:设置窗体的主要布置和功能

      第二个是资源包,图片:把想要改的图案拉进来

      第三个是UI界面包,UI界面设计类:专门对窗体界面进行美化

    步骤二:

      在UI界面设计类中写代码:

     1 /**
     2  * 做皮肤效果的类
     3  */
     4 package zl_util;
     5 
     6 import java.awt.Image;
     7 import java.awt.Toolkit;
     8 import javax.swing.JFrame;
     9 
    10 public class UiUtil {
    11     //私有化
    12         private UiUtil(){}
    13     //修改窗体的图标
    14         //Frame 是带有标题和边框的顶层窗口。 
    15         //JFrame 是java.awt.Frame 的扩展版本
    16         public static void setFramerImage(JFrame jf){
    17             
    18             //创建工具类对象
    19             //public static Toolkit getDefaultToolkit():获取默认工具包。 
    20             Toolkit t = Toolkit.getDefaultToolkit();
    21             
    22             //创建图像类对象,并使用工具类根据路径获取图片
    23             Image i = t.getImage("src\zl_resource\jjcc.jpg");
    24             
    25             //更改窗体的图标
    26             jf.setIconImage(i);
    27             
    28             //这些搞定后,去设置窗体类的源码中调用这个方法
    29         }
    30 }

    步骤三:

      窗体类中写主要代码,上一章的。(未校验版本)

    只不过这次要在源码中调用步骤二中的,UI界面设计类中的方法,从而实现界面美化

     1 public class NewJFrame1 extends javax.swing.JFrame {
     2 
     3     /**
     4      * Creates new form NewJFrame1
     5      */
     6     public NewJFrame1() {
     7         initComponents();
     8         init();
     9     }
    10         private void init(){
    11             this.setTitle("四则运算计算器");
    12             UiUtil.setFramerImage(this);
    13         }

    B、设置窗体一启动就在屏幕的中央

    步骤一:在UI界面设计类中添加一个方法:

     1         //设置窗体出现在屏幕中央
     2         public static void setFrameCenter(JFrame jf){
     3             /*
     4  思路:
     5                 A:首先获取屏幕的长和宽
     6                 B:然后获取窗体的长和宽
     7                 C:再用屏幕的长和宽分别减去窗体的,再除以2
     8                 D:得到的值作为窗体出现的坐标
     9             */
    10             //获取默认工具包
    11             Toolkit tl = Toolkit.getDefaultToolkit();
    12             
    13             //获取屏幕的长和宽,不确定什么类型,用double类 
    14             //public abstract Dimension getScreenSize()
    15             Dimension d = tl.getScreenSize();
    16             double ScreenHeigth = d.getHeight();
    17             double ScreenWidth = d.getWidth();
    18             
    19             //获取窗体的长和宽,这个是int类的
    20             int FrameWidth = jf.getWidth();
    21             int FrameHeigth = jf.getHeight();
    22             
    23             //相减再除以2,因为设置窗体出现的坐标所需要的是int类的,所以要转换成int类
    24             int Higth = (int)(ScreenHeigth - FrameHeigth)/2;
    25             int Width = (int)(ScreenWidth - FrameWidth)/2;
    26             
    27             //值作为窗体出现的坐标
    28             jf.setLocation(Width, Higth);
    29             
    30             //去窗体类中调用该方法
    31         }

    步骤二:

      去窗体类中调用该方法,不粘贴了。

    C、更换窗体的皮肤

    步骤一:把相关的皮肤jar文件和相关的皮肤路径包导入

    步骤二:

    在窗体类中的main方法里使用皮肤:

    看绿色和黄色的字段,其它都是抛出的异常。

     1  public static void main(String args[]) {
     2         /* Set the Nimbus look and feel */
     3         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
     4         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     5          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     6          */
     7         try {
     8             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
     9                 if ("Nimbus".equals(info.getName())) {
    10                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
    11                     break;
    12                 }
    13             }
    14         } catch (ClassNotFoundException ex) {
    15             java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    16         } catch (InstantiationException ex) {
    17             java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    18         } catch (IllegalAccessException ex) {
    19             java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    20         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    21             java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    22         }
    23         //</editor-fold>
    24         try {
    25             //UIManager 管理当前外观、可用外观集合、外观更改时被通知的 PropertyChangeListeners、外观默认值以及获取各种默认值的便捷方法。
    26             //public static void setLookAndFeel(LookAndFeel newLookAndFeel  将当前外观设置为 newLookAndFeel
    27   UIManager.setLookAndFeel(MyLookAndFeel.SYS_WINDOWS);
    28 
    29        
    30         } catch (ClassNotFoundException ex) {
    31             Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
    32         } catch (InstantiationException ex) {
    33             Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
    34         } catch (IllegalAccessException ex) {
    35             Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
    36         } catch (UnsupportedLookAndFeelException ex) {
    37             Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
    38         }
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    Python解析Yahoo的XML格式的天气预报数据
    如何卸载wineQQ?
    纪念我的第一篇
    hihocoder1062 最近公共祖先·一
    hihocoder1055 刷油漆(树形DP)
    hihocoder1050 树中的最长路径
    hihocoder1049 根据二叉树的先序序列和中序序列求后序序列
    hihocoder1044 状态压缩
    hihocoder1043 完全背包
    hihocoder1038 01背包
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5958168.html
Copyright © 2011-2022 走看看