2016.12.18
前面讲过java的登录界面,但是你懂得,好多东西没有写博客,所以理所当然并且很悲催的忘了,所以现在要好好巩固一下了。
一:图形界面:AWT
(1) AWT
1.AWT的组件是由操作系统的绘图机制绘制出来的;
2.AWT的组件是在java.awt包下的。
(2)SWING
1.SWING的组件在javax,swing包下的;
2.SWING的组件是基于AWT的基础上重构的新的组件。
(2)常用的组件类
容器组件:能添加容器或者元素组件就是容器组件类
JFrame 窗体容器组件类 顶级容器
元素组件:一般用来显示文字,图片,接受输入的组件就是元素组件类
JLabel |
标签元素组件类 | 用来显示图片,问题的组件类 |
JTextField | 文本输入框组件类 | 用来接受输入的信息,直接显示出来 |
JPasswordField | 密码输入框组件类 | 用来接收输入的信息,但是是以某个符号代替显示 |
JCheckBox | 复选框元素组件类 | 有一个选择框,还能显示文字或图片 |
JButton | 按钮元素组件类 | 用来显示图片或者文字,还能点击 |
1.辅助类:帮助组件完成某一个功能的类
FlowLayout流式布局类 类似于word文档
Dimension 封装宽度和高度的类
ImageIcon 图标类 加载一个图片到程序中
FlowLayout和Dimension是在java.awt包下
ImageIcon是在javax.swing包下。
实现一个登陆界面的步骤
- 新建一个Login.java的类,然后在类中定义主函数和初始化界面的方法。
- 在主函数中,实例化Login类的对象,调用初始化界面的方法。
- 实例化一个JFrame顶级容器窗体对象,设置窗体对象的属性值:大小,标题,显示位置,布局,关闭,可见
- 创建组件类的对象,将组件添加到窗体上。
-
二.接口:
(1)接口(格式)
- 接口的定义
- 定义接口的关键字:interface
- 格式:
- public interface 接口名 extends 接口,... {
- //定义常量(常量名必须全部大写)
- public static final 数据类型 常量名 = 值;
- //定义抽象方法
- public abstract 返回值类型 方法名(数据类型 参数名,...);}
注意:
1.接口只有一个访问修饰符public。
2.接口会默认提供的关键字有:public、static、final、abstract
3.接口不能实例化对象。 -
2.类实现接口(类继承了接口)
类的继承是单继承,有了接口,就可以让类继承多个接口(丰富类的继承)。
实现接口的关键字:implements
实现接口的格式:
public class 类名 extends 类名 implements 接口名,... {
//必须要实现接口中所有的抽象方法(接口的父接口中的方法也必须要实现)
}
注意:子类必须要实现接口中所有的抽象方法。3.注意接口和类的区别
2.事件机制(重点)
1.事件源对象
1.有哪些内容可以成为事件源对象?
所有的组件都可以成为事件源对象。
2.在界面上你如何确定谁是事件源对象呢?
你在哪一个组件上发生动作,那么这个组件就是你的事件源对象。
2.事件监听方法
addActionListener(ActionListener l);
动作监听方法,该方法主要用来监听是否在类似按钮事件源对象上发生鼠标点击动作或者
在类似输入框事件源对象上发生键盘的回车动作;如果监听到动作后,就会交给参数
ActionListener的事件处理类的对象进行处理,对象就会自动调用事件处理方法。
addMouseListener(MouseListener l);
鼠标监听方法,该方法主要用来监听事件源对象上是否有鼠标按下、释放、单击、进入
和离开动作;如果监听到动作后,就会交给参数MouseListener的事件处理类的
对象进行处理,对象就会自动调用事件处理方法。
addMouseMotionListener(MouseMotionListener l);
鼠标移动监听方法,该方法主要用来监听事件源对象上是否有鼠标移动或者拖动动作;
如果监听到动作后,就会交给参数MouseMotionListener的事件处理类的对
象进行处理,对象就会自动调用事件处理方法。
addKeyListener(KeyListener l);
键盘监听方法,该方法主要用来监听事件源对象上是否有键盘按键按下,释放和敲击动作;
如果监听到动作后,就会交给参数KeyListener的事件处理类的对
象进行处理,对象就会自动调用事件处理方法。
三.事件接口(事件处理类)
ActionListener 动作事件接口
MouseListener 鼠标事件接口
MouseMotionListener 鼠标移动事件接口
KeyListener 键盘事件接口
接口是否能实例化对象呢?不可以
定义事件处理类实现事件接口
4.事件执行流程
目标:点击登录界面上的登录按钮,就要显示一个新的界面。
1.事件源对象:登录按钮
2.事件监听方法:addActionListener(ActionListener l);
3.事件接口(事件处理类):ActionListener
开发步骤:
1.定义LoginListener事件处理类,该类实现ActionListener动作事件接口,实现接口中的抽象方法。
2.在事件处理方法(实现的抽象方法)中,显示一个新的界面
3.在界面类中,实例化LoginListener事件处理类的对象ll.
4.改事件源butLogin添加动作监听方法,指定事件处理类的对象ll.
登录成功后,登录界面就不需要再显示了。
事件处理类中没有登录界面窗体对象,所需你需要定义方法向登录界面类去借窗体对象。 -
package DemoDengLu; import java.awt.Dimension; public class login { //1.程序的入口主函数 public static void main(String[] args){ //在主函数中,实例化login类的对象,调用初始化界面的方法。 login l=new login(); l.initUT(); } //1.设置登入界面的方法。 public void initUT(){ //public 返回值类型 方法名(数据类型 参数名){} //实例化一个JFrame顶级容器船体对象 javax.swing.JFrame jf=new javax.swing.JFrame(); jf.setSize(300,470);//设置的大小。单位是像素 jf.setResizable(false);//设置为不可以调整大小。 jf.setTitle("简单登录界面");//设置窗体的标题。 jf.setLocationRelativeTo(null);//设置窗体的显示的位置,null表示在中央 jf.setDefaultCloseOperation(3);//设置关闭窗口时,3关闭窗口退出程序 //实例化一个流式布局类的对象,布局类是针对容器的,容器上要填多个组件,那么必须要设置排列对齐方式 java.awt.FlowLayout fl=new java.awt.FlowLayout(); jf.setLayout(fl);//设置窗体的布局方式为流式布局 //定义一个ImageIcon类,该类用来读取一个磁盘的图片文文件。 javax.swing.ImageIcon image=new javax.swing.ImageIcon("C:\\Users\\tuocheng\\Desktop\\庹成.png"); //创建一个JLable类的对象,用来显示加载的图片 javax.swing.JLabel labelImage=new javax.swing.JLabel(image); jf.add(labelImage); //将LabelImage添加到窗体上 //实例化一个JTextField类的对象 javax.swing.JTextField textName=new javax.swing.JTextField(); Dimension dim= new java.awt.Dimension(200,30); //实例化一个封装组件高度和高度 textName.setPreferredSize( dim);//將textName添加在窗体上 jf.add(textName); javax.swing.JLabel labelShopping=new javax.swing.JLabel("注册登入"); jf.add(labelShopping); javax.swing.JPasswordField Passwordname=new javax.swing.JPasswordField(); java.awt.Dimension dis= new java.awt.Dimension(200,30); Passwordname.setPreferredSize(dis); jf.add(Passwordname); javax.swing.JLabel labelPassword=new javax.swing.JLabel("登入密码"); jf.add(labelPassword); javax.swing.JCheckBox cbl=new javax.swing.JCheckBox("记住密码 "); java.awt.Dimension dic=new java.awt.Dimension(130,30); cbl.setPreferredSize(dic); jf.add(cbl); javax.swing.JCheckBox cba=new javax.swing.JCheckBox("找回密码 "); java.awt.Dimension dib=new java.awt.Dimension(130,30); cba.setPreferredSize(dib); jf.add(cba); javax.swing.JButton cbc=new javax.swing.JButton("登入 "); java.awt.Dimension div=new java.awt.Dimension(200,30); cbc.setPreferredSize(div); jf.add(cbc); jf.setVisible(true);//设置窗体可见 LoginListener ll=new LoginListener(); cbc.addActionListener(ll);//添加监听方法。 ll.setloginFrame(jf); ll.setText(textName); ll.setEchoChar(Passwordname); } }
监听器类: -
package DemoDengLu; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPasswordField; import javax.swing.JTextField; //ctrl+shift+o,自动生成。 // public class LoginListener implements ActionListener { //ActionListener系统自带的接口 /** * 用一个函数来把login的窗口以及值传过来。 */ public JFrame login;//public 数据类型 属性名; public JTextField textName; public JPasswordField Passwordname; public void setloginFrame(JFrame l) { login = l; }//public 返回值类型 方法名(数据类型 参数名){} public void setText(JTextField s) { textName = s; } public void setEchoChar(JPasswordField v) { Passwordname = v; } public void actionPerformed(ActionEvent e) { String t = textName.getText(); String str = new String(Passwordname.getPassword()); if (t.equals("tuocheng") && str.equals("12345")) { //参数名.equals相当于==。 JFrame frame = new JFrame(); frame.setTitle("欢迎来到新界面"); frame.setSize(600, 500); frame.setDefaultCloseOperation(3); frame.setLocationRelativeTo(null); frame.setVisible(true); login.dispose();//关闭登入界面。 } else { JFrame frame = new JFrame(); frame.setTitle("错误提示"); frame.setSize(200, 100); frame.setDefaultCloseOperation(3); frame.setLocationRelativeTo(null); frame.setVisible(true); } } }
相关推荐
在安卓开发中,创建一个简单的登录界面是学习过程中的基础步骤。这个项目是使用Eclipse IDE构建的,Eclipse曾是安卓开发者广泛使用的工具,尤其是对于初学者来说。以下将详细解析这个“安卓简单登录界面”项目的相关...
在这个案例中,我们关注的是一个简单的登录界面样式,它可能包含基本的输入字段、按钮以及一些视觉元素。 标题“一个简单的登录界面样式”暗示了这个设计可能没有过于复杂的功能或特效,而是专注于提供清晰、直观的...
【标题】"jsp报告qq简单登陆界面"是一个关于使用JavaServer Pages(JSP)技术创建一个简易QQ登录界面的项目。这个项目不依赖于传统的数据库技术,而是利用文件系统来模拟数据库的操作,将用户信息存储和读取到文件中...
简单的java代码编写的登陆界面。实现对账号密码的判断。并且可以实现注册。还有登陆。适合初学者。
在老师讲过之后,自己编写的一个简单的登陆界面 利用C++设置的简单登陆界面
这是通过两个grid容器进行分割的简单登陆界面的设计,而且限定了界面的大小,可以拖动但是不可以拉伸
【标题】:“一个简单的登陆界面” 在IT领域,创建用户界面(UI)是软件开发中的重要环节,尤其是登录界面,它是用户与应用交互的第一步。一个“简单的登陆界面”通常包含必要的元素,使得用户能够轻松地输入凭证并...
一个简单的登陆界面,简单易学。操作容易。适合初学者使用。。
【PHP登陆界面构建详解】 PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其在Web开发领域,它被用于服务器端处理,为网页添加动态内容和交互功能。在这个"简单的PHP登录界面"中,我们将探讨如何...
"一个简单的登入界面"这个项目旨在帮助新手理解如何使用JSP(JavaServer Pages)来创建基本的登录页面。JSP是一种动态网页技术,它结合了HTML和Java代码,使得开发者可以方便地在服务器端生成动态内容。 首先,我们...
html+css实现一个简单的登陆界面
【标签】"电子邮箱登陆界面"意味着项目的核心功能是模拟一个电子邮件登录的过程。这通常会涉及到两个主要部分:用户输入验证和界面反馈。用户输入验证包括检查用户名和密码字段是否为空,以及可能的格式验证(如邮箱...
本项目名为“java--Design-of-login.rar”,主要涵盖了如何创建一个基础的登录界面,也就是“简单登陆”和“简单登陆界面”。我们将深入探讨这个主题,了解相关的设计原则、使用的工具有以及必要的Java技术。 首先...
【VB实现的QQ简单登陆界面】是一个利用Visual Basic(VB)编程语言开发的模拟QQ登录界面的示例项目。在VB中,我们可以利用其强大的Windows Forms应用开发功能,创建出与QQ登录页面相似的图形用户界面(GUI)。下面将...
自制简易qq登陆界面,第一次制作页面,写的有很多不足的地方,适合初学者看
【仿QQ登陆界面设计详解】 在IT行业中,用户界面(UI)的设计至关重要,因为它直接影响到用户的体验和产品的吸引力。QQ作为中国最受欢迎的即时通讯软件之一,其登录界面早已深入人心。仿QQ登录界面的设计,旨在模仿...
基于PHP代码实现的一个简单的登陆界面!!
简单的登陆界面
在本文中,我们将深入探讨如何使用C#语言创建一个简单的登录界面。对于初学者来说,这是一个很好的起点,可以帮助他们理解Windows Presentation Foundation (WPF)框架的基础知识,以及如何处理用户输入和验证。让...
总的来说,“最简单的登陆界面修改工具”是一个面向初级和中级用户的界面设计工具,专注于登录界面的定制与美化,让用户无需深入学习复杂的编程知识就能打造出个性化且吸引人的登录界面。对于那些希望提升产品第一...