2023/09/18

package zhawa;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import java.awt.Color;

public class Login {
    public static void main(String args []){
        //创建对象
        Login tf=new Login();
        //使用对象调用方法
        tf.showFrame();
    }

    public void showFrame() {
        //创建一个窗体
        JFrame frame=new JFrame();
        //设置窗体标题
        frame.setTitle("登录界面");
        //设置窗体大小
        frame.setSize(450,250);
        frame.getContentPane().setBackground(Color.LIGHT_GRAY);
        frame.setLocationRelativeTo(null);//设置窗体相对于另一组间的居中位置,参数null表示窗体相对于屏幕的中央位置
        //实例化FlowLayout流式布局类的对象,指定对齐方式为居中对齐组件之间的间隔为10个像素
        FlowLayout layout = new FlowLayout(FlowLayout.CENTER,10,10);
        //设置窗体的布局方式
        frame.setLayout(layout);
        //创建一个显示文字的标签
        JLabel iconaLabel = new JLabel("账号");
        frame.add(iconaLabel);
        //创建一个输入框对象
        JTextField namelnput = new JTextField();
        //设置输入框的大小
        Dimension inputSize = new Dimension(360,30);
        namelnput.setPreferredSize(inputSize);
        //添加输入框到窗体上
        frame.add(namelnput);

        
        
        
        //创建密码标签
        JLabel iconbLabel = new JLabel("密码");
        //添加标签到窗体上
        frame.add(iconbLabel);
        //创建一个密码输入框
        JPasswordField jpf = new JPasswordField();//输入显示为黑点
        jpf.setPreferredSize(inputSize);
        //添加输入框到窗体上
        frame.add(jpf); 
        
        
        JLabel yanzhen=new JLabel("验证码");
        frame.add(yanzhen);
        JTextField jpf2=new JTextField();
        Dimension inputsize = new Dimension(300,30);
        jpf2.setPreferredSize(inputsize);
        frame.add(jpf2);
        Captcha cc=new Captcha();
        String cap=cc.get();
        JLabel Cap=new JLabel(cap);//生成验证码
        frame.add(Cap);

        
        
        //创建按钮
        JButton ane = new JButton("登录");
        //添加按钮
        frame.add(ane);
        //创建监听器对象
        ane.setForeground(Color.BLACK);
        FrameListener jiantingqi = new FrameListener();
        //给按钮添加监听器
        ane.addActionListener(jiantingqi);
        //给监听器的属性赋值
        jiantingqi.id=namelnput;
        jiantingqi.password=jpf;
        jiantingqi.cc=jpf2;
        jiantingqi.cap=cap;
        
        //设置窗体可见
        frame.setVisible(true);
    }
    
}

package zhawa;
import java.util.Random;
public class Captcha {
    public String get()
    {
        Random rd=new Random();
        StringBuilder sb=new StringBuilder();
        for(int i=0;i<6;i++)
        {
            int x=rd.nextInt(100);
            x=x%3;
            char num='0';
            if(x==0)
            {
                 num=(char)(rd.nextInt(10)+48);
            }
            else
            {
                int way=rd.nextInt(10);
                int m=rd.nextInt(26)+65;
                if(way%2==0)
                {
                    m+=32;
                }
                num=(char)m;
            }
            sb.append(num);
        }
        return sb.toString();
    }
}

package zhawa;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
public class FrameListener implements ActionListener {
    //输出入框的对象
    JTextField id;
    JTextField password;
    JTextField cc;
    String cap;
    public void actionPerformed(ActionEvent e){
        //获取内容
        String name = id.getText();
        String password1 = password.getText();
        String cc1=cc.getText();
        String Cap=cap;
        //自己设置账号密码
        if(name.equals("20223717")&&password1.equals("123456")&&cc1.equals(Cap))
        {
            JFrame frame = new JFrame();
            frame.setSize(300,300);
            frame.setLocationRelativeTo(null);
            frame.setTitle("登录成功");
            frame.setVisible(true);
        }
        else{
            System.out.println("登录错误");            
        }
    }
}

这是一个登录窗口的实现

包含账号密码和验证码

 

posted @ 2023-09-18 21:21  伐木工熊大  阅读(10)  评论(0编辑  收藏  举报