java练习7.18

package com.event;

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;


public class Login {
     

    public static void main(String[] args) {
        Login log = new Login();
        log.InitUI();
    }
    
    
    public void InitUI() {
        final JTextField nametext = new JTextField();
         char keyvaule[] ={' ',};
         KeyListener kl = new KeyListener() {
                //完成一次完整的敲击键盘上某个键的过程(按下和松开)
                @Override
                public void keyTyped(KeyEvent arg0) {
                    
                    
                    // TODO Auto-generated method stub
                    System.out.println("键盘敲击了..arg0 = "+arg0.getKeyChar());
                    System.out.println(nametext.getText());
                }
                //松开键
                @Override
                public void keyReleased(KeyEvent arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("键盘释放了..");
                }
                //按下键时调用。
                @Override
                public void keyPressed(KeyEvent arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("键盘按下了..");
                }
            };
        
            MouseListener ml = new MouseListener() {
                
                //在组件上释放鼠标按钮时调用
                @Override
                public void mouseReleased(MouseEvent arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("鼠标释放了..");
                }
                
                //在组件上按下鼠标按钮时调用。
                @Override
                public void mousePressed(MouseEvent arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("鼠标点下了..");
                }
                
                //当鼠标退出组件时调用。
                @Override
                public void mouseExited(MouseEvent arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("鼠标退出 了..");
                }
                
                //当鼠标进入组件时调用
                @Override
                public void mouseEntered(MouseEvent arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("鼠标移入 了..");
                }
                
                //在组件上单击(按下并释放)鼠标按钮时调用。 
                @Override
                public void mouseClicked(MouseEvent arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("鼠标点击 了..");
                }
            };
        
        
        JFrame frame = new JFrame();
        frame.getContentPane().setBackground(Color.WHITE);
        frame.setTitle("QQ2018");
        frame.setSize(540, 320);
        frame.setLocationRelativeTo(null);
        // 参数为3时,表示关闭窗口则程序退出
        frame.setDefaultCloseOperation(3);
        FlowLayout f1 = new FlowLayout(FlowLayout.LEFT);
        frame.setLayout(f1);
        ImageIcon imag1 = new ImageIcon("img/bg.jpg");
        JLabel pic1 = new JLabel(imag1);
        pic1.setPreferredSize(new Dimension(540, 100));
        frame.add(pic1);
        
        JLabel name1 = new JLabel();
        name1.setPreferredSize(new Dimension(110, 30));
        frame.add(name1);
        
        JLabel name = new JLabel("账号:");
        frame.add(name);
        
        nametext.addKeyListener(kl);
        nametext.setPreferredSize(new Dimension(220, 30));
        frame.add(nametext);
        
        JLabel name2 = new JLabel();
        name2.setPreferredSize(new Dimension(110, 30));
        frame.add(name2);
        
        JLabel name3 = new JLabel();
        name3.setPreferredSize(new Dimension(110, 30));
        frame.add(name3);
        
        JLabel password = new JLabel("密码:");
        frame.add(password);
        
        JPasswordField passwordtext = new JPasswordField();
        passwordtext.setPreferredSize(new Dimension(220, 30));
        frame.add(passwordtext);
        
        JLabel name4 = new JLabel();
        name4.setPreferredSize(new Dimension(110, 30));
        frame.add(name4);
        
        JLabel name5 = new JLabel();
        name5.setPreferredSize(new Dimension(110, 30));
        frame.add(name5);

        
        JCheckBox name6 = new JCheckBox("自动登陆        ");
        frame.add(name6);
        
        JCheckBox name7 = new JCheckBox("记住密码        ");
        frame.add(name7);
        
        JLabel name8 = new JLabel("找回密码");
        frame.add(name8);
        
        JLabel name9 = new JLabel();
        name9.setPreferredSize(new Dimension(110, 30));
        frame.add(name9);
        
        JLabel name10 = new JLabel();
        name10.setPreferredSize(new Dimension(110, 30));
        frame.add(name10);
        
        ActionListener al = new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                System.out.println("正在登陆");
                
            }
        };
        // JButton创建一个可点击的按钮,按钮上可显示文本图片
        JButton bu = new JButton("登录");
        bu.addActionListener(al);
        bu.addMouseListener(ml);
        bu.setPreferredSize(new Dimension(265, 30));
        bu.setBackground(Color.CYAN);
        frame.add(bu);
        
        JLabel name12 = new JLabel();
        name12.setPreferredSize(new Dimension(110, 30));
        frame.add(name12);
        
        JLabel name11 = new JLabel("注册账号");
        frame.add(name11);

        // 设置窗口可见,此句一定要在窗口属性设置好了之后才能添加,不然无法正常显示
        frame.setVisible(true);
    }


}

猜你喜欢

转载自blog.csdn.net/qq_42707075/article/details/81103182