`
茖-荌
  • 浏览: 31323 次
社区版块
存档分类
最新评论

登录界面

阅读更多



                                   登陆界面
一.构造器方法
  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关键字是用来区分属性和参数,
  当然还有其他的用途,以后会学到。最重要的是了解了登陆界面的开发,
  以及掌握了一些常用的界面组件的使用方法。








 

  • 大小: 21 KB
分享到:
评论

相关推荐

    仿QQ登陆界面 仿QQ登陆界面

    【仿QQ登陆界面设计详解】 在IT行业中,用户界面(UI)的设计至关重要,因为它直接影响到用户的体验和产品的吸引力。QQ作为中国最受欢迎的即时通讯软件之一,其登录界面早已深入人心。仿QQ登录界面的设计,旨在模仿...

    微信小程序之登陆界面

    在微信小程序开发中,登陆界面是用户接触应用的第一步,对于用户体验和安全性至关重要。本教程将深入探讨如何创建一个功能完善的微信小程序登陆界面,并确保其能够顺利跳转至其他页面。 首先,我们要理解微信小程序...

    html登陆界面源码

    此外,考虑到标签“前端登陆界面”,这表明这个源码可能不涉及后端逻辑,即用户提交的信息不会直接与数据库交互,而是通过接口发送到服务器端。后端服务接收到这些信息后,会进行验证,如果验证成功,返回成功的响应...

    漂亮的太空登陆界面,登陆不再枯燥

    "漂亮的太空登陆界面,登陆不再枯燥"这个标题暗示我们正在讨论一个独特的、具有太空主题的登录界面设计,这种设计旨在提升用户在登录过程中的视觉享受,从而打破传统单调的登录体验。 太空主题的登陆界面通常会运用...

    XP系统登陆界面诛仙

    标题中的“XP系统登陆界面诛仙”指的是将微软Windows XP操作系统的登录界面主题更换为以中国仙侠小说《诛仙》为主题的定制界面。这通常涉及到系统界面的个性化修改,允许用户根据自己的喜好来定制系统外观,提升使用...

    Excelvba 登陆界面

    Excelvba 登陆界面 包含代码

    asp.net实现登陆界面

    在这个“asp.net实现登陆界面”的项目中,我们将深入探讨如何在MVC框架下实现一个登录界面,包括数据库连接、动态样式和验证码功能。 首先,让我们关注ASP.NET MVC的核心组件。模型(Model)负责处理业务逻辑和数据...

    EAS 登陆界面的修改

    ### EAS 登陆界面的修改知识点详解 #### 一、EAS 登录界面修改背景与意义 在EAS项目的实施过程中,为了更好地融入客户的组织文化并体现企业的个性化需求,经常需要对EAS系统的用户界面进行定制化修改。这种修改...

    用C++编写的登陆界面

    在老师讲过之后,自己编写的一个简单的登陆界面 利用C++设置的简单登陆界面

    自制简易qq登陆界面

    自制简易qq登陆界面,第一次制作页面,写的有很多不足的地方,适合初学者看

    用户管理 labview 登陆界面设计

    在LabVIEW编程环境中,设计一个用户管理及登陆界面是一项关键任务,这涉及到用户验证、权限控制以及友好的交互体验。以下将详细介绍这个主题中的几个重要知识点: 1. **LabVIEW基础**:首先,理解LabVIEW的基本概念...

    用Visual C++6.0编制的登陆界面

    很好的登陆界面编制的程序,完全是用Visual C++ 编制的哦!

    vue+element简单登录界面/登陆界面

    vue+element简单登录/登陆界面,在线预览地址若无法访问,可私聊作者获取最新在线预览地址 vue+element简单登录/登陆界面,在线预览地址若无法访问,可私聊作者获取最新在线预览地址 vue+element简单登录/登陆界面,...

    鸿蒙Arkts :简易登陆界面.zip

    【鸿蒙Arkts简易登陆界面】是华为在开发其自主操作系统——鸿蒙(HarmonyOS)过程中,为开发者提供的一款示例应用。这个压缩包文件包含了一个基础的登录界面实现,帮助开发者快速理解和构建鸿蒙系统的用户界面。下面...

    C# web编程,登陆界面代码

    C# web编程,登陆界面代码,判断用户是否已登录。

    ext4.1登陆界面

    描述中的"ext4.1简单的登陆界面 包含login.jsp 验证码.jsp"进一步说明了这个登录系统的基本构成。`login.jsp`是JavaServer Pages(JSP)文件,这是一种动态网页技术,用于处理用户登录请求,将用户的输入与服务器端...

    18种后台登陆界面HTML源码

    在本资源包中,"18种后台登陆界面HTML源码" 提供了多种设计精美的后台登录页面模板,这些模板对于开发者来说是非常宝贵的参考资料,无论是初学者还是经验丰富的专业人员,都能从中受益。 后台登录界面是用户进入...

    登陆界面模板5个

    在压缩包的文件名称列表中提到的"登陆界面",很可能是这些模板的示例文件,它们可能包含了上述HTML、CSS和JavaScript代码的实现。学习和分析这些模板,可以了解到实际项目中的最佳实践,如如何编写可复用的CSS类,...

    Android手机通用登陆界面代码设计

    标题和描述所指的知识点为“Android手机通用登陆界面代码设计”,其中涉及到Android应用开发中的登录界面实现、SQLite数据库的应用以及Activity的使用。以下知识点详细说明: 1. Android登录界面设计: - 登录界面...

    好看的登陆界面LOGIN

    标题"好看的登陆界面LOGIN"表明我们关注的是登录界面的设计美学,追求视觉吸引力和操作便捷性。描述中提到的"可以做一些网站用到的登陆界面,后台。也可以作为后台的界面",暗示了这个界面设计不仅适用于前端用户...

Global site tag (gtag.js) - Google Analytics