package StatusManagement;
import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;
import java.util.List;
public class Apply extends JFrame {
JPanel root1;
JLabel a,b,c,s;
JButton add,consult,delete; //添加,查询,删除按钮
JLabel consult1,delete1;
JTextField a1,b1,c1;
JTextField consult2,delete2;
JButton X;
public static BSTClass bst; //二叉排序树
public static List<BSTNode> st; //list动态数组
public static String k;
public Apply(){
root1 = new JPanel(); //定义面板容器
setContentPane(root1);
root1.setBackground(Color.gray);
setLayout(null);
bst=new BSTClass(); //创建二叉排序树对象
BSTNode a11=new BSTNode("毛神","男",3);
BSTNode b11=new BSTNode("哆啦A梦","男",5);
BSTNode c11=new BSTNode("熊大","男",6);
st=new ArrayList<>();
st.add(a11);
st.add(b11);
st.add(c11);
//标题,窗口头
s=new JLabel("身份信息管理系统");
s.setBounds(250,20,400,30);
Font font1=new Font("宋体",Font.BOLD,33);
Font font=new Font("宋体",Font.BOLD,20);
s.setFont(font1);
s.setForeground(Color.black);
root1.add(s);
//输入姓名的标签和文本框
a=new JLabel("姓名:");
a.setBounds(250,80,80,20);
a.setFont(font);
a.setForeground(Color.white);
root1.add(a);
a1=new JTextField();
a1.setBounds(325,80,150,25);
root1.add(a1);
//输入性别和文本框
b=new JLabel("性别:");
b.setBounds(250,120,80,20);
b.setFont(font);
b.setForeground(Color.white);
root1.add(b);
b1=new JTextField();
b1.setBounds(325,120,150,25);
root1.add(b1);
//身份证号和文本框
c=new JLabel("身份ID:");
c.setBounds(210,160,120,20);
c.setFont(font);
c.setForeground(Color.white);
root1.add(c);
c1=new JTextField();
c1.setBounds(325,160,150,25);
root1.add(c1);
//点击添加按钮,绑定传入数据的事件,和添加完后弹出窗口添加成功
add=new JButton("创建");
add.setBounds(330,210,100,30);
add.addActionListener(e -> {
try { //捕捉输入为空,不符合规格的异常
String name=a1.getText(); //获取输入的数据
String sex=b1.getText();
String number=c1.getText();
int num=Integer.parseInt(number);
st.add(new BSTNode(name,sex,num));
BSTNode[] stt=st.toArray(new BSTNode[]{});
bst.CreateBST(stt);
new MyDialog1(Apply.this).setVisible(true);
a1.setText("");
b1.setText("");
c1.setText("");
} catch (Exception w){
new Wrong(Apply.this).setVisible(true);
}
});
root1.add(add);
//查询身份证号码和文本框
consult1=new JLabel("查询ID:");
consult1.setBounds(210,320,150,20);
consult1.setFont(font);
consult1.setForeground(Color.white);
root1.add(consult1);
consult2=new JTextField();
consult2.setBounds(325,320,150,25);
root1.add(consult2);
//查询的按钮,跳转到查询的信息
consult=new JButton("查询");
consult.setBounds(330,360,100,30);
consult.addActionListener(e -> {
try {
String look=consult2.getText();
int look1=Integer.parseInt(look);
bst.SearchBST(look1);
new MyDialog3(Apply.this).setVisible(true);
consult2.setText("");
}catch (Exception wwe){
new Wrong(Apply.this).setVisible(true);
}
});
root1.add(consult);
//删除身份证号码和文本框
delete1=new JLabel("删除ID:");
delete1.setBounds(210,460,150,20);
delete1.setFont(font);
delete1.setForeground(Color.white);
root1.add(delete1);
delete2=new JTextField();
delete2.setBounds(325,460,150,25);
root1.add(delete2);
//删除的按钮,点击删除信息,并弹出删除成功
delete=new JButton("删除");
delete.setBounds(330,500,100,30);
delete.addActionListener(e -> {
try {
k=delete2.getText();
int k1=Integer.parseInt(k);
new MyDialog2(Apply.this).setVisible(true);
for (int i=0;i<st.size();i++){
if (st.get(i).key==k1){
st.remove(i); //在表格中显示删除了
}
}
bst.DeleteBST(k1); //在二叉排序树中删除
}
catch (Exception ww){
new Wrong(Apply.this).setVisible(true);
}delete2.setText("");
});
root1.add(delete);
//点击跳转到表格数据页面
X=new JButton("数据表单");
X.setBounds(310,570,150,30);
X.addActionListener(e ->{
new Table();
});
root1.add(X);
//设置窗口
setTitle("身份管理系统");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(250, 60, 800, 700);
setVisible(true);
}
public static void main(String[]args){
new Apply();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
这是我大二的数据结构的实训项目中的一个环节,知识点使用的不多,主要是java基础知识,接口和方法使用,对于集合和迭代器输出要掌握。在数据储存方面,使用了数据结构中的平衡二叉树作为载体,大大提高了查找效率。最后使用了idea中自带的Swing实现界面化输出,其中使用了多个窗口,有继承关系,这一点需要注意,其余部分,因为当时实训时间比较紧张,画面可能没有那么美观,但是效果还不赖,三天完成了,注释也很清晰,是一个练手的好项目,适合学过数据结构的人来练手。
资源推荐
资源详情
资源评论
收起资源包目录
StatusManagement.zip (8个子文件)
Wrong.java 600B
Table.java 2KB
Apply.java 5KB
MyDialog2.java 504B
MyDialog1.java 639B
Main.java 1KB
MyDialog3.java 757B
BSTClass.java 5KB
共 8 条
- 1
资源评论
爱笑的蓝孩子~
- 粉丝: 49
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功