java身份证验证界面设计
在代码中//后面的是注释,是为了跟好的理解适当添加注释是很好的习惯。
建立一个class文件名为IDWindow(可以自取类名,注意:要修改复制过来的代码类名修改成自取的类名、修改处在第14行) 代码:
/**
* @author abduxkur
* @idate 2022/5/14 15:23
**/
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.nio.charset.StandardCharsets;
import java.util.Objects;
public class IDWindow extends JFrame implements ActionListener {
//继承JFrame
//实现接口ActionListener
private final JLabel[] jlb = new JLabel[6];//创建六个标签放在面板上 private final JLabel jlb1 = new JLabel() ;
private final JLabel jlb2 = new JLabel() ;
private final JLabel jlb3 = new JLabel() ;
private final JButton jb1; // 设置按钮 点击之后实现把信息显示在面板上 private final JButton jb2; // 点击之后实现 退出(彻底)程序
private final JTextField jt1,jt2;//设置一个输入框 输入身份证号
Font f2, f1, f3; //这些事设计字体用的 不用太深度理解
public static void main(String[] args) {
new IDWindow();
}
public IDWindow() {
super("查询窗口"); //窗口标签
this.setBounds(200, 200, 650, 330);//设置面板 包括面板的出现位置及长宽
this.setLayout(new BorderLayout()); //把面板的默认容器改为BorderLayout容器
JPanel jp1 = new JPanel(new FlowLayout()); //设置一个流式布局
ContentPane().add(jp1, BorderLayout.NORTH);//把jp1 放在面板容器里面的北边
f1 = new Font("标题", Font.PLAIN, 18);//设置三种字体
f2 = new Font("宋体", Font.PLAIN, 16);
f3 = new Font("宋体", Font.PLAIN, 18);
jt2 = new JTextField(20);
jlb1.setText("姓名");
jlb2.setText("姓名:");
jt1 = new JTextField(20); //初始化jt1 及它的长度
jb1 = new JButton("查询"); //设置查询按钮
jb2 = new JButton("退出"); //设置退出按钮
jb1.setFont(f2); //设置jb1 的字体
jb2.setFont(f2);
jt1.setFont(f2);
jt2.setFont(f2);
jlb1.setFont(f2);
jlb2.setFont(f2);
jlb3.setFont(f3);
jb2.setBounds(275, 250, 100, 35);
for (int i = 0; i < jlb.length; i++) {
jlb[i] = new JLabel("");
}
jlb[0].setText("籍贯地址:");
jlb[1].setText("出生年日:");
jlb[2].setText("性别:");
jlb2.setBounds(50, 40, 300, 35);
jlb3.setBounds(160, 40, 500, 35);
int a = 90;
for (int i = 0; i < 3; i++) {
jlb[i].setFont(f3);
jlb[i + 3].setFont(f3);
jlb[i].setBounds(50, a, 300, 35);
jlb[i + 3].setText("");
jlb[i + 3].setBounds(160, a, 500, 35);
a += 50;
this.add(jlb[i]);
this.add(jlb[i + 3]);
}
jb1.addActionListener(this); //查询 按钮的实现
jb2.addActionListener(this); //退出 按钮的实现
this.add(jlb1);
this.add(jlb2);
this.add(jlb3);
this.add(jb2); // jb2是 直接放在面板上的
jp1.add(jlb1);
jp1.add(jt2);
jp1.add(jt1);
jp1.add(jb1); //jb1 是放在jp1容器里面的
jp1.add(jlb1);
jp1.add(jt2);
jp1.add(jt1);
jp1.add(jb1); //jt1 是放在jp1容器里面的
this.add(jp1); //把jp1 放在面板上
this.setVisible(true); //显示面板
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jb1) { //如果点的是jb1按钮 运行if语句体
MagicSquare magicSquare = new Text()); //调用MagicSquare 初始化magicSquare 给它一个身份证号码
jlb[3].setText(magicSquare.address); //把jb[3]标签的内容改为 magicSquare.address(是一个地址)
jlb[4].setText(magicSquare.birth); //把jb[4]标签的内容改为 magicSquare.birth(生日年月日)
jlb[5].setText(magicSquare.sex); //把jb[4]标签的内容改为 magicSquare.sex(性别)
}else if (e.getSource() == jb2){ //如果 按的是退出按钮执行else if 语句体
this.setVisible(false); // 关闭面板
it(0); //关闭程序运行
}
}
}
结构设计(数据调用,同样可以自取类名,注意:修改源代码类名,修改处:源代码第12行)
结构设计代码:
/
**
* @author abduxkur
* @idate 2022/5/14 15:23
**/