`
13808498112
  • 浏览: 5904 次
文章分类
社区版块
存档分类
最新评论

Java 入门

阅读更多
只有在图形界面上加入对事件的处理,才会让界面有意义
在QQ的登录界面上,按下了“登录”按钮,服务器才会检测你的账号密码是否正确,决定你能否登录成功。

那么什么时候发生了事件呢,在生活中,如果不去时不时看看,你不会知道。在Java,就叫做Listener。Java给我们提供了各种Listener。
[/align]

1.
最简单的举例就是关于按钮的监听。

当我们将按钮按下的时候按钮的状态就发生了改变,那么这个按下的事件就是要被我们监听的。
这时要用到ActionListener。
   简单的创建一个按钮的监听器
package jiantingqi;

import java.awt.event.ActionEvent;//一般会自动import进来,如果没有一定要手动。

public class ButtonListener implements java.awt.event.ActionListener {
	/**
	 * ActionListener 里面只有一种抽象方法,就是actionPerformed(ActionEvent e),此时只需要重写这个方法。
	 */
	public void actionPerformed(ActionEvent e){
		System.out.println("矮油~我被按了一下!");
		
	}
}

package jiantingqi;

;

/**'
 * 创造一个简单的图形界面
 * @author 小湖
 *
 */
public class SimpleUI extends javax.swing.JFrame {
	public static void main (String args[]){
		/**
		 * 实例化一个窗口对象
		 */
		SimpleUI su = new SimpleUI();
		su.setTitle("简单窗体");
		su.setSize(300, 200);
		
		/**设置布局管理
		 * 
		 */
		java.awt.FlowLayout fl = new java.awt.FlowLayout();
		su.setLayout(fl);
		
		/**
		 * 实例化简单的组件  标签 、文本框、 按钮
		 */
		javax.swing.JLabel jl_code = new javax.swing.JLabel("账号");//JLabel的构造方法可以直接传入字符串
		
		javax.swing.JTextField jt_code = new javax.swing.JTextField(20);//JTextField 可以直接传入长度
		
        javax.swing.JLabel jl_password = new javax.swing.JLabel("密码");
		
		javax.swing.JPasswordField jpf= new javax.swing.JPasswordField(20);
		
		javax.swing.JButton jb = new javax.swing.JButton("登录");//可以直接传入按钮的名称
		
		/**
		 * 将组件逐一添加到窗体中
		 */
		
		su.add(jl_code);
		su.add(jt_code);
		su.add(jl_password);
		su.add(jt_password);
		su.add(jb);
		
		/**
		 * 关闭时退出程序
		 */
		
	    su.setDefaultCloseOperation(3);
	    
	    /**
	     * 让窗体课件
	     */
	    su.setVisible(true);
	    
	    /**
	     * 设置监听器对象
	     */
	    ButtonListener bl = new ButtonListener();
	    jb.addActionListener(bl);//调用addActionListener方法的是按钮,传入的参数是按钮监听器对象
	    
		
	}

}



此时会出现
[img]

[/img]


2.
既然按下按钮这个事件可以被监听,那么输入文本框也可以

如果想要得到输入的内容呢?
显然我们需要将得到的内容,传入监听器中。即
 ButtonListener bl = new ButtonListener(jt_code,jpf);
///传入参数,重载ButtonListener原有的构造方法


这时候就出现了错误
1.原来的ButtonListener中并没有这个可以传入参数的构造方法。
2.也没有这两个属性。

此时要修改监听器
private javax.swing.JTextField jt;
	private javax.swing.JPasswordField jp ;
	
	/**
	 * 重载构造方法
	 */
	
	public ButtonListener (javax.swing.JTextField jt, javax.swing.JPasswordField jp){
		this.jt=jt;
		this.jp=jp;
	}


还没完,得到了以后,我得验证用户名和密码呀。
把原来的actionPerformed 方法修改成如下

只有用户名为张三,密码为123是才显示登录成功 否则就打印用户名或密码错误

/**
		 * 得到用户名
		 */
		String code = jt.getText();
		
		/**
		 * 得到密码
		 */
		char c[] = jp.getPassword();
		/**
		 * 将字符型数组转换分成字符串
		 */
		String pw = new String(c);
		
		/**
		 * 进行验证
		 */
		if(code.equals("张三")&&pw.equals("123"))
			System.out.println("登录成功");
		else
			System.out.println("用户名或密码错误");
		


3.有的监听中不止一种抽象方法
比如WindowListener
package jiantingqi;

import java.awt.event.WindowEvent;

public class EventHandle implements java.awt.event.WindowListener {
	public void windowActivated(WindowEvent e){
   	 System.out.println("窗口被选中啦!!");
   	 
    }
    public void windowClosed(WindowEvent e){
   	 System.out.println("窗口被!关闭啦!!");
    }
    public void windowClosing(WindowEvent e){
   	 System.out.println("窗口关闭啦!!");
    }
    public void windowDeactivated(WindowEvent e){
   	 System.out.println("窗口取消选中啦!!");
    }
    public void windowIconified(WindowEvent e){
   	 System.out.println("窗口从正常状态最小化!!");
    }
    public void windowDeiconified(WindowEvent e){
   	 System.out.println("窗口从最小化恢复成正常状态!!");
    }
    public void windowOpened(WindowEvent e){
   	 System.out.println("窗口打开!!");
    }
    
  

}

由于接口的继承需要重写其中所有的抽象方法,有些麻烦,那么可以使用到适配器。
那就是另外的问题了。  [/color]
  • 大小: 184.7 KB
  • 大小: 39.6 KB
分享到:
评论

相关推荐

    java入门经典(完整版高清晰带目录书签)

    标题中的“java入门经典(完整版高清晰带目录书签)”表明这是一本针对Java初学者的入门教材。它很有可能包含Java编程语言的基础知识、语法介绍、程序设计原理以及一些简单实用的案例。书中的“完整版”意味着内容...

    Java入门到精通pdf

    《Java入门到精通》是一本面向Java初学者的权威指南,旨在帮助读者快速掌握Java编程语言的基础知识并逐步深入到高级技术。这本书涵盖了从安装Java开发环境,理解基本语法,到构建复杂应用程序的全过程,是学习Java...

    Java入门1·2·3:一个老鸟的Java学习心得.rar 超清

    《Java入门1·2·3:一个老鸟的Java学习心得》是一本与众不同的Java入门好书。作者以独特的视角,向Java初学者讲述了如何才能真正理解和掌握Java语言。《Java入门1·2·3:一个老鸟的Java学习心得》充分考虑了初学Java...

    Java入门到精通完整教程+源码.zip

    本资源“Java入门到精通完整教程+源码.zip”提供了一个全面的学习路径,帮助初学者逐步掌握Java编程技能并进阶至精通。下面将详细解析这个压缩包中的学习内容。 首先,"Java1908-master"可能指的是2019年8月的一个...

    “Java入门123”系列教学视频(23集)

    资源名称:“Java入门123”系列教学视频(23集)资源目录:【】Java入门123教学视频-总结视频【】Java入门123教学视频01-04集【】Java入门123教学视频05-08集【】Java入门123教学视频09-12集【】Java入门123教学视频...

    Java入门1·2·3——一个老鸟的Java学习心得

    资源名称:Java入门1·2·3——一个老鸟的Java学习心得内容简介:本书是一本与众不同的Java入门好书。作者以独特的视角,向Java初学者讲述了如何才能真正理解和掌握Java语言。本书充分考虑了初学Java语言的种种困难...

    Java入门学习笔记

    这份"Java入门学习笔记"涵盖了imooc网站上Java入门课程的三个赛季的内容,旨在为初学者提供一个全面的学习资源。 笔记的第一部分是"Java入门第一季学习笔记",它可能包括Java的基础概念和语法。这部分可能会讲解...

    Educoder题目:Java入门 - 数组进阶答案解析.md

    Educoder题目:Java入门 - 数组进阶答案解析

    Educoder题目:Java入门 - 数组基础答案解析.md

    Educoder题目:Java入门 - 数组基础答案解析

    Java入门123源码.zip

    "Java入门123源码.zip"这个压缩包文件显然是为了帮助初学者掌握Java编程基础知识而设计的。从文件名我们可以推测,它可能包含了一些简单的Java源代码示例,可能是从"1"到"3"逐步递增难度的教学实例,帮助新手逐步...

    Java入门1·2·3——一个老鸟的Java学习心得 高清pdf

    本书是一本与众不同的Java入门好书。作者以独特的视角,向Java初学者讲述了如何才能真正理解和掌握Java语言。本书充分考虑了初学Java语言的种种困难,讲解时细致入微,抽丝剥茧,层层推进,并采用对比、比喻和类比的...

    Java入门学习PPT课件

    对于初学者来说,Java入门学习是编程旅程中的重要一步。这份"Java入门学习PPT课件"提供了简单易懂的方式,帮助新手理解Java的基础概念。 1. **Java简介**:Java是由Sun Microsystems(现为Oracle公司)开发的,由...

    java入门学习视频--java入门学习视频

    java入门学习视频 java一些基础性的知识 数组集合 I/o流等等 java入门学习视频 java一些基础性的知识 数组集合 I/o流等等

    Java入门1·2·3:一个老鸟的Java学习心得【清华大学出版社 臧萌 编著】

    #Java入门必读书籍,有个人的笔记(少量介意勿下),书籍开篇第一章包括软件下载和环境设置。 #穿插了195个完整示例和350个Java源程序帮助读者理解

    java入门学习资料ppt 源代码 小项目案例

    【Java入门学习】是编程初学者踏入编程世界的重要一步,特别是对于那些选择Java作为首选语言的人来说。本资源包提供了一份“java入门学习资料ppt”,它通常包含了一系列关于Java基础概念、语法、数据类型、控制结构...

    Java入门实验实例(程序代码加实验报告全)

    "Java入门实验实例(程序代码加实验报告全)"是一份非常实用的学习资源,旨在帮助初学者快速掌握Java编程基础。这份资料包含了作者在学习Java过程中编写的全部程序和对应的实验报告,对于刚接触Java的人来说,是非常...

    java入门阶段相关代码.zip

    java入门java入门阶段相关代码.zipjava入门阶段相关代码.zipjava入门阶段相关代码.zipjava入门阶段相关代码.zipjava入门阶段相关代码.zipjava入门阶段相关代码.zipjava入门阶段相关代码.zipjava入门阶段相关代码.zip...

    60个java入门源代码

    60个java入门源代码,涵盖javaSE学习的方方面面,认真学习过后一定受益匪浅。

    Java入门123

    《Java入门123——一个老鸟的Java学习心得》。作者以独特的视角向Java初学者讲述了如何才能真正理解和掌握Java。本书充分考虑了初学Java的种种困难,讲解细致入微,抽丝剥茧,层层推进,并采用对比、比喻和类比等...

    JAVA入门经典第6版

    适合JAVA入门开发,为进阶JAVA提供扎实的基础

Global site tag (gtag.js) - Google Analytics