zoukankan      html  css  js  c++  java
  • java第七次作业

    (一)学习总结

    1.写出事件处理模型中的几个关键词,并通过具体代码实例说明你对事件处理模型的理解。
    事件就是表示一个对象的发生状态变化。
    基本事件及其监听处理:
    窗体事件及监听处理:使用匿名内部类完成监听操作

    import java.awt.event.WindowAdapter ;
    import java.awt.event.WindowEvent ;
    import java.awt.Color ;
    import javax.swing.JFrame ;
    public class MyEventWindowEventJFrame03{
    	public static void main(String args[]){
    		JFrame frame = new JFrame("Welcome To MLDN") ; 
    		frame.addWindowListener(new WindowAdapter(){
    			public void windowClosing(WindowEvent e){
    				System.out.println("windowClosing --> 窗口关闭") ;
    				System.exit(1) ;
    			}
    		}) ;	// 加入事件
    		frame.setSize(300,150) ;
    		frame.setBackground(Color.WHITE) ;
    		frame.setLocation(300,200) ;
    		frame.setVisible(true) ;
    	}
    };
    

    动作事件及监听处理

    import java.awt.event.WindowAdapter ;
    import java.awt.event.ActionListener ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.ActionEvent ;
    import java.awt.Color ;
    import java.awt.GridLayout ;
    import java.awt.Font ;
    import javax.swing.JFrame ;
    import javax.swing.JButton ;
    import javax.swing.JLabel ;
    import javax.swing.JTextField ;
    import javax.swing.JPasswordField ;
    import javax.swing.JPanel ;
    
    class LoginCheck{
    	private String name ;
    	private String password ;
    	public LoginCheck(String name,String password){
    		this.name = name ;
    		this.password = password ;
    	}
    	public boolean validate(){
    		if("lixinghua".equals(name)&&"mldn".equals(password)){
    			return true ;
    		}else{
    			return false ;
    		}
    	}
    };
    
    class ActionHandle{
    	private JFrame frame = new JFrame("Welcome To MLDN") ; 
    	private JButton submit = new JButton("登陆");
    	private JButton reset = new JButton("重置");
    	private JLabel nameLab = new JLabel("用户名:") ;
    	private JLabel passLab = new JLabel("密   码:") ;
    	private JLabel infoLab = new JLabel("用户登陆系统") ;
    	private JTextField nameText = new JTextField(10) ;
    	private JPasswordField passText = new JPasswordField() ;
    	private JPanel pan = new JPanel() ;
    	public ActionHandle(){
    		Font fnt = new Font("Serief",Font.ITALIC + Font.BOLD,12) ;
    		infoLab.setFont(fnt) ;	// 设置标签的显示文字
    		submit.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e){
    				if(e.getSource()==submit){
    					String tname = nameText.getText() ;
    					String tpass = new String(passText.getPassword()) ;
    					LoginCheck log = new LoginCheck(tname,tpass) ;
    					if(log.validate()){
    						infoLab.setText("登陆成功,欢迎光临!") ;
    					}else{
    						infoLab.setText("登陆失败,错误的用户名或密码!") ;
    					}
    				}
    			}
    		}) 
    		reset.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e){
    				if(e.getSource()==reset){
    					nameText.setText("") ;
    					passText.setText("") ;
    					infoLab.setText("用户登陆系统") ;
    				}
    			}
    		}) 
    		
    		frame.addWindowListener(new WindowAdapter(){
    			public void windowClosing(WindowEvent e){
    				System.exit(1) ;
    			}
    		}) 	// 加入事件
    		frame.setLayout(null) ;
    		nameLab.setBounds(5,5,60,20) ;
    		passLab.setBounds(5,30,60,20) ;
    		infoLab.setBounds(5,65,220,30) ;
    		nameText.setBounds(65,5,100,20) ;
    		passText.setBounds(65,30,100,20) ;
    		submit.setBounds(165,5,60,20) ;
    		reset.setBounds(165,30,60,20) ;
    		frame.add(nameLab) ;
    		frame.add(passLab) ;
    		frame.add(infoLab) ;
    		frame.add(nameText) ;
    		frame.add(passText) ;
    		frame.add(submit) ;
    		frame.add(reset) ;
    		frame.setSize(280,130) ;
    		frame.setBackground(Color.WHITE) ;
    		frame.setLocation(300,200) ;
    		frame.setVisible(true) ;
    
    	}
    }
    
    public class MyActionEventDemo03{
    	public static void main(String args[]){
    		 new ActionHandle() ;
    		
    	}
    }
    

    键盘事件及监听处理

    import java.awt.event.WindowAdapter ;
    import java.awt.event.KeyAdapter ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.KeyEvent ;
    import java.awt.Color ;
    import javax.swing.JFrame ;
    import java.awt.event.ActionListener ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.ActionEvent ;
    import java.awt.Color ;
    import java.awt.GridLayout ;
    import java.awt.Font ;
    import javax.swing.JFrame ;
    import javax.swing.JButton ;
    import javax.swing.JLabel ;
    import javax.swing.JTextArea ;
    import javax.swing.JPasswordField ;
    import javax.swing.JScrollPane ;
    import javax.swing.JPanel ;
    
    class MyKeyHandle extends JFrame{
    	private JTextArea text = new JTextArea() ;
    	public MyKeyHandle(){
    		super.setTitle("Welcome To MLDN") ;
    		JScrollPane scr = new JScrollPane(text) ;
    		scr.setBounds(5,5,300,200) ;
    		super.add(scr) ;
    		text.addKeyListener(new KeyAdapter(){
    			public void keyTyped(KeyEvent e){
    				text.append("输入的内容是:" + e.getKeyChar() + "
    ") ;
    			} 
    		}) ;
    		super.addWindowListener(new WindowAdapter(){
    			public void windowClosing(WindowEvent e){
    				System.exit(1) ;
    			}
    		}) ;	// 加入事件
    		super.setSize(310,210) ;
    		super.setVisible(true) ;
    	}
    	
    };
    
    
    public class MyKeyEventDemo02{
    	public static void main(String args[]){
    		new MyKeyHandle() ;
    	}
    };
    

    鼠标事件及监听处理

    import java.awt.event.WindowAdapter ;
    import java.awt.event.MouseAdapter ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.MouseEvent ;
    import java.awt.Color ;
    import javax.swing.JFrame ;
    import java.awt.event.ActionListener ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.ActionEvent ;
    import java.awt.Color ;
    import java.awt.GridLayout ;
    import java.awt.Font ;
    import javax.swing.JFrame ;
    import javax.swing.JButton ;
    import javax.swing.JLabel ;
    import javax.swing.JTextArea ;
    import javax.swing.JPasswordField ;
    import javax.swing.JScrollPane ;
    import javax.swing.JPanel ;
    
    class MyMouseHandle extends JFrame{
    	private JTextArea text = new JTextArea() ;
    	public MyMouseHandle(){
    		super.setTitle("Welcome To MLDN") ;
    		JScrollPane scr = new JScrollPane(text) ;
    		scr.setBounds(5,5,300,200) ;
    		super.add(scr) ;
    		text.addMouseListener(new MouseAdapter(){
    			public void mouseClicked(MouseEvent e){
    				int c = e.getButton() ;
    				String mouseInfo = null ;
    				if(c==MouseEvent.BUTTON1){
    					mouseInfo = "左键" ;
    				}
    				if(c==MouseEvent.BUTTON3){
    					mouseInfo = "右键" ;
    				}
    				if(c==MouseEvent.BUTTON2){
    					mouseInfo = "滚轴" ;
    				}
    				text.append("鼠标单击:" + mouseInfo + "
    ") ;
    			}
    		}) ;
    		super.addWindowListener(new WindowAdapter(){
    			public void windowClosing(WindowEvent e){
    				System.exit(1) ;
    			}
    		}) ;	// 加入事件
    		super.setSize(310,210) ;
    		super.setVisible(true) ;
    	}
    };
    
    
    public class MyMouseEventDemo02{
    	public static void main(String args[]){
    		new MyMouseHandle() ;
    	}
    };
    

    鼠标拖拽事件及监听处理

    import java.awt.event.WindowAdapter ;
    import java.awt.event.MouseMotionAdapter ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.MouseEvent ;
    import java.awt.Color ;
    import javax.swing.JFrame ;
    import java.awt.event.ActionListener ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.ActionEvent ;
    import java.awt.Color ;
    import java.awt.GridLayout ;
    import java.awt.Font ;
    import javax.swing.JFrame ;
    import javax.swing.JButton ;
    import javax.swing.JLabel ;
    import javax.swing.JTextArea ;
    import javax.swing.JPasswordField ;
    import javax.swing.JScrollPane ;
    import javax.swing.JPanel ;
    
    class MyMouseMotionHandle extends JFrame{
    	public MyMouseMotionHandle(){
    		super.setTitle("Welcome To MLDN") ;
    		super.addMouseMotionListener(new MouseMotionAdapter(){
    			public void mouseDragged(MouseEvent e){
    				System.out.println("鼠标拖拽到:X = " + e.getX() + ",Y = " + e.getY()) ;
    			}
    		}) ;
    		super.addWindowListener(new WindowAdapter(){
    			public void windowClosing(WindowEvent e){
    				System.exit(1) ;
    			}
    		}) ;	// 加入事件
    		super.setSize(310,210) ;
    		super.setVisible(true) ;
    	}
    };
    
    
    public class MyMouseMotionEventDemo02{
    	public static void main(String args[]){
    		new MyMouseMotionHandle() ;
    	}
    };
    

    2.其他需要总结的内容。
    每个事件处理机制都有其方法完成操作,查看及使用api文档掌握操作

    (二)实验总结

    实验内容:
    基本要求:
    使用GUI,编写一个宠物商店管理系统实现对宠物信息的统一管理。假设宠物种类有猫、狗,宠物信息包括:编号、品种、年龄、数量、价格。系统启动进入登录界面,登录成功进入管理界面,否则提出错误信息后退出系统。
    在管理界面实现以下功能:
    (1)显示所有宠物列表
    (2)添加宠物到列表
    (3)删除宠物
    (4)对宠物信息进行修改
    (5)退出
    程序设计思路:根据老师给出的代码,理解其内容,做出相应的修改,完成宠物商店界面的设置

    (三)代码托管

    链接:https://git.oschina.net/hebau_cs15/java-cs02sqrr.git

  • 相关阅读:
    Weblogic学习笔记
    Shiro权限使用
    Shiro权限框架使用总结
    支付宝接口文档说明
    代码模拟实现十六进制转二进制
    代码模拟实现十六进制转换十进制
    四种内部类详细解释和代码示例
    Struts2_struts.xml写法和用法例子
    spring一些方法和用法例子
    Hibernate一些_方法_@注解_代码示例
  • 原文地址:https://www.cnblogs.com/namtaehyun/p/6829581.html
Copyright © 2011-2022 走看看