登陆界面
一.构造器方法
1.我们在创建一个累的对象时,使用类名 对象名=new 类名();的格式,
这里用到的类名()就叫做类的构造方法。
2.我们并没有在类中定义这样的方法,为什么我们能够使用呢?这是因为
类默认这样的一个无参数的构造器。当然,我们可以根据需要重新定义
构造器方法,这叫做构造器方法的重载。
3.定义构造器方法的格式:
//无参数的构造器
public 类名(){
}
//有参数的构造器
public 类名(数据类型 参数名,....){
//代码
}
}
二.方法的重载
1.在一个类中,可以定义多个返回值数据类型和方法名相同,但参数类型、
参数个数或参数顺序不同的方法,叫做方法的重载。
2.当调用这些方法时,会自动调用参数相匹配的方法。
三.构造方法一普通方法的区别
1.格式:
构造方法 public 类名(参数可有可无){
//代码
}
普通方法 public 返回值数据类型 方法名(参数可有可无){
//代码
}
2.构造方法不需要返回值,而普通方法必须有返回值(当然可以为void);
构造方法是创建一个对象,它每使用一次就会创建一个对象,而普通方法
可以被对象多次使用。
四.this关键字
当参数名与属性名相同时,可以使用this关键字进行区别
如:this 属性名=参数名;
五.登录界面的开发
1.java.awt包下的一些类
BorderLayout 边框布局类
FlowLayout 流式布局类
GridLayout 网格布局类
2.javax.swing包的一些类
JFrame 窗体类
JPanel 面板类
JLabel 标签类
JTextField 文本输入框类
JPasswordField 密码输入框类
JComboBox 下拉列表框类
JCheckBox 复选框类
JButton 按钮类
下面是我刚学时学的界面,里面的很多命名等都很不规范,也有很多问题思考许久,我决定还是把它写到博客上吧。
package lesson; public class login { // 定义一个普通的方法 public void init() { // 实例化一个窗口对象 javax.swing.JFrame jF = new javax.swing.JFrame("QQ登录界面"); // 设置窗口的大小 jF.setSize(430, 300); // 设置用户点击关闭按钮是程序退出 jF.setDefaultCloseOperation(3); // 设置用户不可以调整窗口的大小 jF.setResizable(false); // 设置窗口的位置居中 jF.setLocationRelativeTo(null); // 实例化一个边框布局类 java.awt.BorderLayout bk = new java.awt.BorderLayout(); // 将窗体的布局设置为边框布局 jF.setLayout(bk); // 实例化一个面板类 javax.swing.JPanel mb1 = new javax.swing.JPanel(); // 实例化一个ImageIcon的图标对象 javax.swing.ImageIcon tb1 = new javax.swing.ImageIcon( "images/login.jpg"); // 实例化一个标签对象,用来显示图标 javax.swing.JLabel bj1 = new javax.swing.JLabel(tb1); // 将标签加到面板1中 mb1.add(bj1); // 将面板1加到窗体中,并指明它的位置 jF.add(mb1, java.awt.BorderLayout.NORTH); // 再实例化一个面板对象 javax.swing.JPanel mb2 = new javax.swing.JPanel(); // 实例化一个ImageIcon的图标对象 javax.swing.ImageIcon tb2 = new javax.swing.ImageIcon("images/tx.jpg"); // 实例化一个标签对象,用来显示图标 javax.swing.JLabel bj2 = new javax.swing.JLabel(tb2); // 将标签加到面板2中 mb2.add(bj2); // 将面板2加到窗体中,并指明它的位置 jF.add(mb2, java.awt.BorderLayout.WEST); // 再实例化一个面板对象 javax.swing.JPanel mb3 = new javax.swing.JPanel(); // 实例化一个边框布局对象 java.awt.BorderLayout bk1 = new java.awt.BorderLayout(); // 将面板3设置为边框布局 mb3.setLayout(bk1); // 实例化一个面板对象,将它加到面板3中 javax.swing.JPanel jp1 = new javax.swing.JPanel(); // 实例化一个标签对象 javax.swing.JLabel bj3 = new javax.swing.JLabel("帐号"); // 将标签加到面板jp1中 jp1.add(bj3); // 实例化一个文本框对象 javax.swing.JTextField txt1 = new javax.swing.JTextField(16); // 将文本框加到面板jp1中 jp1.add(txt1); // 将它加到面板3中 mb3.add(jp1, java.awt.BorderLayout.NORTH); // 实例化一个面板对象,将它加到面板3中 javax.swing.JPanel jp2 = new javax.swing.JPanel(); // 实例化一个标签对象 javax.swing.JLabel bj4 = new javax.swing.JLabel("密码"); // 将标签加到面板jp2中 jp2.add(bj4); // 实例化一个密码输入框 javax.swing.JPasswordField txt2 = new javax.swing.JPasswordField(16); // 将文本框加到面板3中 jp2.add(txt2); // 将它加到面板mb2中 mb3.add(jp2, java.awt.BorderLayout.CENTER); // 实例化一个面板对象,将它加到面板3中 javax.swing.JPanel jp3 = new javax.swing.JPanel(); // 定义一个数组 String[] arr = { "上线", "隐身", "离开", "忙碌" }; // 实例化一个下拉框对象 javax.swing.JComboBox xl = new javax.swing.JComboBox(arr); // 将下拉框添加到面板jp3中 jp3.add(xl); // 实例化一个复选框 javax.swing.JCheckBox fx1 = new javax.swing.JCheckBox("记住密码"); // 将复选框添加到面板jp3中 jp3.add(fx1); // 实例化一个复选框 javax.swing.JCheckBox fx2 = new javax.swing.JCheckBox("自动登录"); // 将复选框添加到面板jp3中 jp3.add(fx2); // 将它加到面板mb3中 mb3.add(jp3, java.awt.BorderLayout.SOUTH); // 将面板加到窗体中,并指明它的位置 jF.add(mb3, java.awt.BorderLayout.CENTER); // 再实例化一个面板对象 javax.swing.JPanel mb4 = new javax.swing.JPanel(); // 实例化一个边框布局对象 java.awt.BorderLayout bk2 = new java.awt.BorderLayout(); // 将面板4设置为边框布局 mb4.setLayout(bk2); // 实例化一个面板对象,将它加到面板4中 javax.swing.JPanel jp4 = new javax.swing.JPanel(); // 实例化一个文本框对象 javax.swing.JLabel txt3 = new javax.swing.JLabel("注册帐号"); // 将文本框加到面板jp4中 jp4.add(txt3); // 将它加到面板mb4中 mb4.add(jp4, java.awt.BorderLayout.NORTH); // 实例化一个面板对象,将它加到面板4中 javax.swing.JPanel jp5 = new javax.swing.JPanel(); // 实例化一个文本框对象 javax.swing.JLabel txt4 = new javax.swing.JLabel("找回密码"); // 将文本框加到面板jp5中 jp5.add(txt4); // 将它加到面板mb4中 mb4.add(jp5, java.awt.BorderLayout.CENTER); // 将面板4加到窗体中,并指明它的位置 jF.add(mb4, java.awt.BorderLayout.EAST); // 再实例化一个面板对象 javax.swing.JPanel mb5 = new javax.swing.JPanel(); // 实例化一个边框布局对象 java.awt.BorderLayout bk3 = new java.awt.BorderLayout(); // 将面板5设置为边框布局 mb5.setLayout(bk3); // 实例化一个面板对象,将它加到面板5中 javax.swing.JPanel jp6 = new javax.swing.JPanel(); // 实例化一个按钮对象 javax.swing.JButton jb1 = new javax.swing.JButton("多账号"); // 将按扭添加到面板5中,并指明它的位置。 jp6.add(jb1); // 实例化一个按钮对象 javax.swing.JButton jb2 = new javax.swing.JButton("设置"); // 将按扭添加到面板5中,并指明它的位置。 jp6.add(jb2); // 将它加到面板mb5中 mb5.add(jp6, java.awt.BorderLayout.WEST); // 实例化一个面板对象,将它加到面板5中 javax.swing.JPanel jp7 = new javax.swing.JPanel(); // 实例化一个按钮对象 javax.swing.JButton jb3 = new javax.swing.JButton("登录"); //设置事件源的动作命令值。 jb3.setActionCommand("Login"); // 将按扭添加到面板5中,并指明它的位置。 jp7.add(jb3); // 将它加到面板mb5中 mb5.add(jp7, java.awt.BorderLayout.EAST); // 将面板4加到窗体中,并指明它的位置 jF.add(mb5, java.awt.BorderLayout.SOUTH); // 将窗体设为可见 jF.setVisible(true); /*给事件源jb3添加动作监听器方法*/ //实例化一个事件处理类的对象,该类是ActionListener接口的子类 LoginListener ll = new LoginListener(txt1,txt2); //给事件源添加动作监听器方法,绑定事件处理类的对象ll jb3.addActionListener(ll); } }
监听器的代码
public class LoginListener implements ActionListener { private JTextField txt1;//声明一个帐号输入框对象属性 private JPasswordField txt2;//声明一个密码输入框对象属性 /** * 定义一个构造方法,带了两个参数 * @param txt1帐号输入框对象 * @param txt2密码输入框对象 */ public LoginListener(JTextField txt1, JPasswordField txt2) { //将参数赋值给属性 this.txt1 = txt1; this.txt2 = txt2; } /** * 动作事件发生后,会执行的方法,事件处理类的方法 */ public void actionPerformed(ActionEvent e) { String name = txt1.getText();//得到帐号输入框的值 String pwd = txt2.getText();//得到密码输入框中的值 System.out.println("你点击了"+e.getActionCommand()+" 帐号:"+name+" 密码:"+pwd); //判断输入的帐号和密码是否都是admin if(name.equals("admin") && pwd.equals("admin")){ //显示一个画图程序的界面 JFrame draw = new JFrame("画图程序"); draw.setSize(600, 500); draw.setLocationRelativeTo(null); draw.setDefaultCloseOperation(2); draw.setVisible(true); }else{ JOptionPane.showMessageDialog(null,"你输入的帐号或密码错误,请重新输入!"); } } }
测试代码
public class dax{ //主函数 public static void main(String [] args){ //实例化一个login对象 login lo=new login(); //调用该对象的方法 lo.init(); } }
这是运行的界面
六.值传递和引用传递
注意:String用来定义字符串或字符数组,但它却不是基本的数据类型,它属于一个类。
1.java中的八个基本数据类型
long(长整型) int(整型) short(短整形) char(字符型) double(双精度浮点型) float(单精 度浮点型) boolean(布尔值) byte(字节)
以上八种数据类型作为参数传递时,是以传值的方式进行传递。
2.类类型(包括类、数组)
它们作为参数传递时,是以传址(地址)的方式进行传递。
七.体会
通过本次学习,基本掌握了什么是构造方法和构造方法的重载,并且能够
知道构造方法和普通方法的区别。知道this关键字是用来区分属性和参数,
当然还有其他的用途,以后会学到。最重要的是了解了登陆界面的开发,
以及掌握了一些常用的界面组件的使用方法。
相关推荐
【仿QQ登陆界面设计详解】 在IT行业中,用户界面(UI)的设计至关重要,因为它直接影响到用户的体验和产品的吸引力。QQ作为中国最受欢迎的即时通讯软件之一,其登录界面早已深入人心。仿QQ登录界面的设计,旨在模仿...
在微信小程序开发中,登陆界面是用户接触应用的第一步,对于用户体验和安全性至关重要。本教程将深入探讨如何创建一个功能完善的微信小程序登陆界面,并确保其能够顺利跳转至其他页面。 首先,我们要理解微信小程序...
此外,考虑到标签“前端登陆界面”,这表明这个源码可能不涉及后端逻辑,即用户提交的信息不会直接与数据库交互,而是通过接口发送到服务器端。后端服务接收到这些信息后,会进行验证,如果验证成功,返回成功的响应...
"漂亮的太空登陆界面,登陆不再枯燥"这个标题暗示我们正在讨论一个独特的、具有太空主题的登录界面设计,这种设计旨在提升用户在登录过程中的视觉享受,从而打破传统单调的登录体验。 太空主题的登陆界面通常会运用...
标题中的“XP系统登陆界面诛仙”指的是将微软Windows XP操作系统的登录界面主题更换为以中国仙侠小说《诛仙》为主题的定制界面。这通常涉及到系统界面的个性化修改,允许用户根据自己的喜好来定制系统外观,提升使用...
Excelvba 登陆界面 包含代码
在这个“asp.net实现登陆界面”的项目中,我们将深入探讨如何在MVC框架下实现一个登录界面,包括数据库连接、动态样式和验证码功能。 首先,让我们关注ASP.NET MVC的核心组件。模型(Model)负责处理业务逻辑和数据...
### EAS 登陆界面的修改知识点详解 #### 一、EAS 登录界面修改背景与意义 在EAS项目的实施过程中,为了更好地融入客户的组织文化并体现企业的个性化需求,经常需要对EAS系统的用户界面进行定制化修改。这种修改...
在老师讲过之后,自己编写的一个简单的登陆界面 利用C++设置的简单登陆界面
自制简易qq登陆界面,第一次制作页面,写的有很多不足的地方,适合初学者看
在LabVIEW编程环境中,设计一个用户管理及登陆界面是一项关键任务,这涉及到用户验证、权限控制以及友好的交互体验。以下将详细介绍这个主题中的几个重要知识点: 1. **LabVIEW基础**:首先,理解LabVIEW的基本概念...
很好的登陆界面编制的程序,完全是用Visual C++ 编制的哦!
vue+element简单登录/登陆界面,在线预览地址若无法访问,可私聊作者获取最新在线预览地址 vue+element简单登录/登陆界面,在线预览地址若无法访问,可私聊作者获取最新在线预览地址 vue+element简单登录/登陆界面,...
【鸿蒙Arkts简易登陆界面】是华为在开发其自主操作系统——鸿蒙(HarmonyOS)过程中,为开发者提供的一款示例应用。这个压缩包文件包含了一个基础的登录界面实现,帮助开发者快速理解和构建鸿蒙系统的用户界面。下面...
C# web编程,登陆界面代码,判断用户是否已登录。
描述中的"ext4.1简单的登陆界面 包含login.jsp 验证码.jsp"进一步说明了这个登录系统的基本构成。`login.jsp`是JavaServer Pages(JSP)文件,这是一种动态网页技术,用于处理用户登录请求,将用户的输入与服务器端...
在本资源包中,"18种后台登陆界面HTML源码" 提供了多种设计精美的后台登录页面模板,这些模板对于开发者来说是非常宝贵的参考资料,无论是初学者还是经验丰富的专业人员,都能从中受益。 后台登录界面是用户进入...
在压缩包的文件名称列表中提到的"登陆界面",很可能是这些模板的示例文件,它们可能包含了上述HTML、CSS和JavaScript代码的实现。学习和分析这些模板,可以了解到实际项目中的最佳实践,如如何编写可复用的CSS类,...
标题和描述所指的知识点为“Android手机通用登陆界面代码设计”,其中涉及到Android应用开发中的登录界面实现、SQLite数据库的应用以及Activity的使用。以下知识点详细说明: 1. Android登录界面设计: - 登录界面...
标题"好看的登陆界面LOGIN"表明我们关注的是登录界面的设计美学,追求视觉吸引力和操作便捷性。描述中提到的"可以做一些网站用到的登陆界面,后台。也可以作为后台的界面",暗示了这个界面设计不仅适用于前端用户...