用户界面

今天学用户界面的实现,除了界面的设置之外,对用户界面进行了深一层的设置。能够实现简单的验证与重置。

代码如下

package 用户界面;

import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class 登陆窗口 extends JFrame implements ActionListener{
    //属性--用户名、密码、按钮
    JTextField jf_name;
    JPasswordField jf_pass;;
    JButton jb_login;
    JButton jb_reset;
    String name = "hunter";
    String pass = "123456";
    
    public 登陆窗口(){
        initUI();
        initListener();
    }

    public void initUI(){
        //布局
        this.setLayout(new GridLayout(4,1));
        
        //第一行
        JLabel jl = new JLabel("用户登陆");//创建“用户登陆”文本
        jl.setFont(new Font("宋体", Font.BOLD, 20));//设置字体,格式,大小
        JPanel jp1 = new JPanel();//中间容器1
        jp1.add(jl);//添加文本--用户登陆
        this.add(jp1);//将中间容器1添加至窗口
        
        //第二行
        JLabel jl_name = new JLabel("用户名");//创建“用户名”文本
        jf_name = new JTextField(20);//用户名文本框
        JPanel jp2 = new JPanel();//中间容器2
        jp2.add(jl_name);//添加“用户名”文本
        jp2.add(jf_name);//添加用户名文本框
        this.add(jp2);//将中间容器2加到窗口中
        
        //第三行
        JLabel jl_pass = new JLabel("密码     ");//创建“密码”文本
        jf_pass = new JPasswordField(20);//密码文本框
        JPanel jp3 = new JPanel();//中间容器3
        jp3.add(jl_pass);//添加“密码”文本
        jp3.add(jf_pass);//添加密码文本框
        this.add(jp3);//将中间容器3添加至窗口
        
        //第四行
        jb_login = new JButton("登陆");//创建“登陆”按钮
        jb_reset = new JButton("重置");//创建“重置”按钮
        JPanel jp4 = new JPanel();   //创建中间容器4
        jp4.setLayout(new FlowLayout(FlowLayout.CENTER,30,0));//中间容器4布局位流布局--中间
        jp4.add(jb_login);//添加“登陆”按钮
        jp4.add(jb_reset);//添加“重置”按钮
        this.add(jp4);//将中间容器4添加至窗口
        
        //显示设置
        this.setSize(400, 200);//窗口大小
        this.setTitle("用户登录");//窗体名称
        this.setVisible(true);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    
    private void initListener() {//绑定监听器
        jb_login.addActionListener(this);//
        jb_reset.addActionListener(this);//
    }
        
    public static void main(String[] args) {
        new 登陆窗口();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        JButton jbInput = (JButton) e.getSource();
        if(jbInput.equals(jb_reset)) {//判断事件是否为重置
            jf_name.setText(null);
            jf_pass.setText(null);
        }else if(jbInput.equals(jb_login)) {//判断事件是否为登陆
            String Input_name = jf_name.getText();
            String input_pass = jf_pass.getText();
            if(Input_name.equals(name) && input_pass.equals(pass)){//判断用户名与密码是否相等
                System.out.println("登陆成功");
            }else {
                System.out.println("登陆失败");
            }
        }
    }

}

不过,对于 JButton jbInput = (JButton) e.getSource();这一行代码不是很理解。求深度解释~

posted @ 2019-05-16 20:24  18软技四班—彭凯舟  阅读(124)  评论(1编辑  收藏  举报