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的自学历程...只需坚持
原文地址:https://www.cnblogs.com/LZL-student/p/5958168.html