界面设计 java_Java界面设计

本文介绍了Java的图形界面设计,包括AWT和SWING组件的区别。以登录界面为例,详细讲解了如何使用JFrame、JLabel、JTextField、JPasswordField、JCheckBox和JButton等元素创建界面,并通过Dimension类设置组件大小。最后提到了事件监听机制的重要性。
摘要由CSDN通过智能技术生成

一、Java的图形界面类

Java给我们提供了两套图形界面包:

一套是AWT组件(java.awt),它在实现的时候直接调用了系统底层的绘图函数,这样就导致这套组件在不同平台上需要独立去做开发。

另一套是SWING组件(javax.swing),它是在基于AWT组件的基础上,采用Java代码构建的一套新的组件,又叫轻量级组件。

二、实现界面所需要的API类

我们以登录界面为例,阐述实现界面需要的API类:

1.容器组件类

首先是容器组件类,它能添加容器组件或者元素组件,javax.swing.JFrame就是一个窗体容器组件类。我们可以用setSize,setLocation,setDefaultCloseOperation,setTitle等该类自带的方法去设置它的属性,举例如下:

javax.swing.JFrame frame=new javax.swing.JFrame();//实例化一个窗口 //设置窗体的属性值 frame.setTitle("login");//设置窗口的标题为login frame.setSize(300,420);//设置窗口的大小为300*420像素 frame.setLocationRelativeTo(null);//设置窗口的位置在界面正中心 frame.setDefaultCloseOperation(3);//设置单击关闭按钮以后界面不再运行 //实例化流式布局,居中对齐 java.awt.FlowLayout f1=new java.awt.FlowLayout();

//设置窗体对象布局为流式布局 frame.setLayout(f1);

frame.setVisible(true);//显示窗口为可见(这句话放在实例化界面函数的最后一句)

2.元素组件类

接下来就是元素组件类,我们可以用JLabel类来添加标签元素类,显示文字或者图片信息;用JTextField类实现文本的输入;用JPasswordField类实现密码的输入(输入文本但是不显示);用JCheckBox类实现复选框;用JButton类实现按钮的实例化,并可以显示文字或图片信息。接下来我们用一段代码解释这些类以及它所能使用的方法:

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

//实例化文本对象“账号:”(括号中写上文本名) frame.add(name);//添加文本对象到窗体,这句话不加则该对象不会显示

javax.swing.JTextField textname=new javax.swing.JTextField();

//实例化文本输入框对象 java.awt.Dimension dim=new java.awt.Dimension(210,30);

//实例化一个关于设置元素大小的Dimension类对象并添加 textname.setPreferredSize(dim);

//设置文本输入框的大小为210*30像素,注意到:这里是用的setPreferredSize函数,因为对于非容器组件,只能用这个方法去设置大小 frame.add(textname);//添加该对象

javax.swing.JLabel password=new javax.swing.JLabel("密码:");

//实例化文本对象"密码:" frame.add(password);//添加该对象

javax.swing.JPasswordField pass=new javax.swing.JPasswordField()

//实例化密码输入框 pass.setPreferredSize(dim);

//设置密码输入框的大小(与之前的文本输入框相同所以用的同一个dimension类对象。 frame.add(pass);//添加该对象

javax.swing.JCheckBox b1=new javax.swing.JCheckBox();

//实例化复选框 frame.add(b1);//添加该对象

javax.swing.JLabel remember=new javax.swing.JLabel("记住密码");

//实例化文本对象"记住密码" frame.add(remember);//添加该对象

javax.swing.JCheckBox b2=new javax.swing.JCheckBox();

//实例化复选框 frame.add(b2);//添加该对象

javax.swing.JLabel autologin=new javax.swing.JLabel("自动登录");

//实例化文本对象"自动登录" frame.add(autologin);//添加该对象

javax.swing.JButton bu=new javax.swing.JButton("登录");

//实例化按钮 java.awt.Dimension dim1=new java.awt.Dimension(210,60);

bu.setPreferredSize(dim1);

//实例化一个新的Dimension类对象并且设置它的大小为210*60像素 frame.add(bu);//添加该对象

如果我们需要设置一大串按钮,是不需要一个一个实例化并添加的,可以利用循环来添加一系列的按钮,这样可以减少代码冗余,以计算器按键设置为例,示例如下:

String [] t={"CE","C","←","/","7","8","9","*","4","5","6","","1","2","3","+","±","0",".","="};

//设置你需要定义的一系列按钮上的文字

//设置按钮for(int i=0;i

{javax.swing.JButton CE=new javax.swing.JButton(t[i]);

//实例化按钮,按钮上的文字在String类数组中已定义好java.awt.Dimension dim2=new java.awt.Dimension(100,60);

CE.setPreferredSize(dim2);

//定义一个新的Dimension对象,并设置按钮大小frame.add(CE);

//添加按钮}

那么登录界面实现以后我们要怎么让它在按下登录按钮以后有所反应呢?请看下一篇文章:事件监听机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值