java详解第六章:图形界面开发

1.了解Java的图形界面类有哪些?

1.1 AWT组件——最初始的界面基础

AWT组件的名字由来是根据它的包名而来的,它的包名叫做java.awt。

AWT组件是在JDK1.0的时候推出的图形界面类。

AWT组件是采用C和C++混合实现的,而且这套组件调用了操作系统底层的绘图函数,来实现的组件绘制;

因为需要调用操作系统底层的函数,这样就导致这套组件在不同的平台上,需要独立去开发,所以就不能很好的实现Java提倡的跨平台性。

      

1.2 SWING组件——界面的扩展

SWING组件的名字由来是根据它的包名而来的,它的包名叫做javax.swing。

SWING组件是在JDK1.4的时候推出的图形界面类。

SWING组件是基于AWT的基础上,采用纯Java代码来实现的一套新的轻量级组件,这套组件只需要编写一次,就可以发布在各个平台上。

 

2.实现登录界面所需的API类要哪些?

2.1 容器组件类:能添加容器组件或者元素组件的就是容器组件类。

JFrame     窗体容器组件类      顶级容器(顶级容器相互之间不能添加)

   

2.2 元素组件类:一般只用来显示文字、图片或接收用户输入信息的就是元素组件类。

JLabel——标签元素组件类  

显示文字、图片信息

JTextField——文本输入框元素组件类

接收用户输入的信息,并且直接显示出来

JPasswordField——密码输入框元素组件类

接收用户输入的信息,但是以某一个符号代替显示

JCheckBox——复选框元素组件类

提供一个选择框,在选择框后还能显示文字或图片信息

JButton——按钮元素组件类

显示文字、图片信息,还能点击(有一个点击的效果)

   

上述的容器组件类和元素组件类都是SWING组件中的类,那么你在使用的时候要记得加上包名,例如:javax.swing.JFrame;javax.swing.JLabel。

   

2.3 辅助类:帮助组件完成某一个特定功能的类。

javax.swing.ImageIcon——图标类

将磁盘上的图片文件加载程序中。

java.awt.Dimension——封装类

封装组件的宽度和高度。

java.awt.FlowLayout——流式布局类

布局效果类似于word文档。

Java中所有的布局类都是针对容器组件的,因为容器组件上要添加其他的组件,这样就必须要设置添加组件的排列对齐方式。

 

3.登录界面的实现(类似于我们平时搭积木的过程)

    1.新建一个Login登录界面类,该类实现主函数和初始化界面的方法。

    2.在主函数中,实例化Login登录界面类的对象,然后使用对象名去调用初始化界面的方法。

    3.在初始化界面的方法中,实例化JFrame窗体顶级容器类的对象。

    4.设置JFrame窗体顶级容器的属性值,比如:标题、大小、显示位置、关闭操作、布局、可见。

    5.实例化元素组件类的对象,然后将对象添加到窗体上(添加的组件必须要在可见之前完成)。

    实例代码:

package ExamplePackage;



public class Login {

    public static void main(String[] args) {

       // 在主函数中,实例化Login登录界面类的对象

       Login log = new Login();

       // 然后使用对象名去调用初始化界面的方法。

       log.init();

    }



    public void init() {// 初始化界面的方法

       javax.swing.JFrame frame = new javax.swing.JFrame();

       /*

        * 也可以 import javax.swing.JFrame;

        * JFrame frame = new JFrame();

        */

       frame.setTitle("Login");// 设置窗体的标题属性值

       frame.setSize(300, 400);// 设置窗体的宽度和高度,单位是像素。

       frame.setLocationRelativeTo(null);// 设置组件显示的相对位,参数是null则表示显示屏幕的中央。

       frame.setDefaultCloseOperation(3);// 设置窗体的关闭操作,3表示关闭窗体退出程序。



       java.awt.FlowLayout fl = new java.awt.FlowLayout();//实例化FlowLayout流式布局类的对象

       frame.setLayout(fl);//设置窗体的布局方式为流式布局fl。

       /*

        * 流式布局是java中最常用的布局方式之一,严格意义上所有界面都可以用流式布局实现。就像一段数据流,

        * 系统会根据代码中添加组件的顺序依次网界面上放组件,从上而下,从左而右,当一行满了时会放入下一行。

        * 添加完毕后,默认状态下会将每一行组件居中。

        */

      

       // 实例化ImageIcon类的对象,该对象加载磁盘上的图片文件到程序中。

       javax.swing.ImageIcon img = new javax.swing.ImageIcon(

              "D:\\Work\\Study\\programme\\java\\workspace\\界面\\pic\\butterfly.jpg");

       // 实例化JLabel标签类的对象,设置组件要显示的图片对象

       javax.swing.JLabel labIcon = new javax.swing.JLabel(img);

       java.awt.Dimension dim = new java.awt.Dimension(300,100);

       // 实例化一个封装类(可以看成是一个模具),这个模具的大小是宽300像素,高度是100像素)

       labIcon.setPreferredSize(dim);

       //将labIcon套入这个模具,使其大小为300×100(几乎所有组件都可用Dimension类来改变大小)

       // 将labIcon组件添加到窗体上。

       frame.add(labIcon);

      

       // 实例化JLabel标签类的对象,设置组件要显示的文字信息为"账号:"

       javax.swing.JLabel labName = new javax.swing.JLabel("账号:");

       // 将labName组件添加到窗体上。

       frame.add(labName);

      

       frame.setVisible(true);

       //最重要的一句,将界面显示性设为真,不加这句话运行则什么都显示不出来。而且必须放在添加组件的语句后。

    }

}

运行结果:

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值