zoukankan      html  css  js  c++  java
  • 第十三周课程总结

    键盘事件及监听处理

    在Swing的事 件处理中也可以使用KcyListcner接口对键盘的操作进行监听。
    

    此接口定义了如下方法:

    如果想要取得键盘键入的内容,可以通过keyEvent取得,此类的常用方法如下:

    鼠标事件及其监听
    如果想对一个鼠标的操作进行监听,例如,鼠标按下、松开等,则可以实现MouseListener接口

    MouseEvent

    在每个事件触发后都会产生MouseEvent事件,此事件可以得到鼠标的相关操作
    

    菜单组件JMenuBar:

    用来摆放JMenu组件,JMenuBar的常用方法:
    

    JMenu常用方法:

    JMenuItem的常用方法:

    JFileChooser类的常用方法:

    实验代码:

    package 第十一周实验;
    
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    
    import javax.swing.AbstractButton;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    class GGG {
    	private String name;
    	private String password;
    
    	public GGG(String aa, String ss) {
    		this.name = name;
    		this.password = password;
    	}
    
    	public boolean indate() {
    		if ("296738954".equals(name) && "hhl".equals(password)) {
    			return true;
    		} else {
    			return false;
    		}
    
    	}
    }
    
    class GG {
    	JFrame gg = new JFrame("QQ");
    	private JLabel aa = new JLabel("账号名称:");
    	private JLabel ss = new JLabel("账号密码:");
    	private JLabel infoLab = new JLabel("用户登入系统");
    	private JTextField ff = new JTextField();
    	private JPasswordField dd = new JPasswordField();
    	private JButton cc = new JButton("登入");
    	private JButton ww = new JButton("重置");
    
    	public GG() {
    		Font fnt = new Font("Serif", Font.BOLD, 12);
    		infoLab.setFont(fnt);
    		ww.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				if (e.getSource() == ww) {
    					JOptionPane.showMessageDialog(null, "账号或密码错误,请重新登入");
    					ff.setText("");
    
    					dd.setText("");
    
    					infoLab.setText("用户登入系统");
    				}
    
    			}
    
    		});
    		cc.addActionListener((ActionListener) new ActionListener() {
    
    			public void actionPerformed(ActionEvent arg0) {
    				if (arg0.getSource() == cc) { // 判断触发源是否登入按钮
    					String fff = new String(ff.getText()); // 得到输入的用户名
    					String ddd = new String(dd.getText()); // 得到输入的密码
    					GGG log = new GGG(fff, ddd); // 实例化GGG对象,传入输入的用户名和密码
    					if (log.indate()) {
    						JOptionPane.showMessageDialog(null, "登入成功,欢迎光临");
    						infoLab.setText("登入成功,欢迎光临");
    					} else {
    						ff.setText("");
    
    						dd.setText("");
    						JOptionPane.showMessageDialog(null, "账号或密码错误,请重新登入");
    						infoLab.setText("账号密码错误,请重新登入");
    					}
    				}
    
    			}
    		});
    		gg.addWindowListener(new WindowAdapter() {
    			public void windowClosing(WindowEvent arg0) {
    				System.exit(1);
    			}
    		});
    
    		gg.setLayout(null);
    		infoLab.setBounds(120, 220, 200, 20);
    		cc.setBounds(100, 180, 80, 20);
    		ww.setBounds(190, 180, 80, 20);
    		aa.setBounds(100, 100, 80, 20);
    		ss.setBounds(100, 140, 80, 20);
    		ff.setBounds(190, 100, 100, 20);
    		dd.setBounds(190, 140, 100, 20);
    		gg.setLayout(null);
    		gg.add(cc);
    		gg.add(infoLab);
    		gg.add(ww);
    		gg.add(aa);
    		gg.add(ss);
    		gg.add(ff);
    		gg.add(dd);
    		gg.setSize(400, 300);
    		gg.setLocation(300, 100);
    		gg.setVisible(true);
    	}
    }
    
    public class wenbenk {
    	public static void main(String agrs[]) {
    
    		new GG();
    
    	}
    }
    

    用来实现登入窗口:


  • 相关阅读:
    How to install cacti With Nginx
    RPM方式安装MySQL5.6
    mysql高可用方案比较
    甲骨文推出MySQL Fabric,简化MySQL的高可用性与可扩展性
    Atitit.数据库表的物理存储结构原理与架构设计与实践
    Atitit.数据库表的物理存储结构原理与架构设计与实践
    Atitit.java jna 调用c++ dll 的总结
    Atitit.java jna 调用c++ dll 的总结
    Atitit.一些公司的开源项目 重大知名开源项目attilax总结
    Atitit.一些公司的开源项目 重大知名开源项目attilax总结
  • 原文地址:https://www.cnblogs.com/hhl296738954/p/11919749.html
Copyright © 2011-2022 走看看