之前发现好多找我做管理系统,但不让用数据库,就了一个简易的管理系统,用来给大家分享一下
这是一个集选择性登录,查询,删除,修改,添加为一体的管理系统,不光可以是图书管理系统,自己还可以改成其它系统。
1,开始是选择登录,不同的选择进入不同的登陆界面
2, 两个登陆界面的账号和密码是不一样的
3,登陆后,进入管理界面,进行添加,删除,修改,查询功能(以下图片按此顺序实现功能)(书名,出版社等信息均为虚拟,用于测试)
录入 :是通过获取JTextField后通过append添加到JTextArea
删除 :通过输入的编号删除,也可以新建一个删除框用于删除,但是为了整体布局我没建
修改:删除之前的信息,重新添加信息
查询 :通过输入的编号查询,也可以新建一个查询框用于查询,但是为了整体布局我没建
4,下面是主要代码段,共读者详细了解功能实现原理
public class YunYongClass {
ArrayList<XinXiClass> LieBiao=new ArrayList<>();
public void add(){
JFrame jframe1=new JFrame("登陆界面");
jframe1.setSize(900, 400);//设置好宽高
jframe1.setLocationRelativeTo(null);//窗体居中显示
JTextField jTextField1=new JTextField(10);
JTextField jTextField2=new JTextField(10);
JTextField jTextField3=new JTextField(10);
JTextField jTextField4=new JTextField(10);
JTextField jTextField5=new JTextField(10);
JTextField jTextField6=new JTextField(10);
JLabel jLabel1=new JLabel("编号:");
JLabel jLabel2=new JLabel("书名:");
JLabel jLabel3=new JLabel("出版社:");
JLabel jLabel4=new JLabel("类别:");
JLabel jLabel5=new JLabel("作者:");
JLabel jLabel6=new JLabel("价格:");
JTextArea jta=new JTextArea(10,20);//行与列
jta.setLineWrap(true); //设置文本域中的文本为自动换行
jta.setFont(new Font("黑体",Font.BOLD,17));//设置文本域内的字体
JPanel jPanel=new JPanel();
JButton jButton1=new JButton("录入");
JButton jButton2=new JButton("删除");
JButton jButton3=new JButton("修改");
JButton jButton4=new JButton("查询");
Box box1=Box.createHorizontalBox();
Box box2=Box.createHorizontalBox();
Box box3=Box.createVerticalBox();
box1.add(jLabel1);
box1.add(jTextField1);
box1.add(jLabel2);
box1.add(jTextField2);
box1.add(jLabel3);
box1.add(jTextField3);
box1.add(jLabel4);
box1.add(jTextField4);
box1.add(jLabel5);
box1.add(jTextField5);
box1.add(jLabel6);
box1.add(jTextField6);
box3.add(box1);
box3.add(Box.createVerticalStrut(30));
box2.add(jButton1);
box2.add(jButton2);
box2.add(jButton3);
box2.add(jButton4);
box3.add(box2);
box3.add(Box.createVerticalStrut(30));
box3.add(jta);
jPanel.add(box3);
jframe1.add(jPanel);
// jframe1.setResizable(false);//设置窗口不可以放大
jframe1.setVisible(true);//设置窗口可见,必须放在最后面
//录入
jButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String jt1=jTextField1.getText();
String jt2=jTextField2.getText();
String jt3=jTextField3.getText();
String jt4=jTextField4.getText();
String jt5=jTextField5.getText();
String jt6=jTextField6.getText();
XinXiClass xinxiclass=new XinXiClass();
xinxiclass.setBookId(jt1);
xinxiclass.setBookName(jt2);
xinxiclass.setPress(jt3);
xinxiclass.setCategory(jt4);
xinxiclass.setAuthor(jt5);
xinxiclass.setPrice(jt6);
LieBiao.add(xinxiclass);
jta.setText("");//清空文本框,使每次文本框的输出都是新的一次列表
for (XinXiClass S : LieBiao) {
jta.append("编号:"+S.getBookId()+" "+"书名:"+S.getBookName()+" "+"出版社:"+S.getPress()+" "+"类型:"+ S.getCategory()+" "+"作者:"+S.getAuthor()+" "+"价格:"+S.getPrice()+"\n");
}
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
}
});
//删除
jButton2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String jt1=jTextField1.getText();
for(int i=0;i<LieBiao.size();i++) {
if(LieBiao.get(i).getBookId().equals(jt1)) {//用来 获取列表里的对象ID 然后判断是否与编号相等
LieBiao.remove(i);//remove找到相对应的i值直接删除
}
jta.setText("");//清空文本框,使每次文本框的输出都是新的一次列表
for (XinXiClass S : LieBiao) {
jta.append("编号:"+S.getBookId()+" "+"书名:"+S.getBookName()+" "+"出版社:"+S.getPress()+" "+"类型:"+ S.getCategory()+" "+"作者:"+S.getAuthor()+" "+"价格:"+S.getPrice()+"\n");
}
jTextField1.setText("");
}
}
});
//修改
jButton3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jta.setText("");//清空文本框,使每次文本框的输出都是新的一次列表
String jt1=jTextField1.getText();
String jt2=jTextField2.getText();
String jt3=jTextField3.getText();
String jt4=jTextField4.getText();
String jt5=jTextField5.getText();
String jt6=jTextField6.getText();
for(int i=0;i<LieBiao.size();i++) {
if(LieBiao.get(i).getBookId().equals(jt1)) {//用来 获取列表里的对象ID 然后判断是否与学号相等
LieBiao.remove(i);//remove找到相对应的i值直接删除
System.out.println("请重新输入该学生信息:");
XinXiClass xinXiClass = new XinXiClass();
xinXiClass.setBookId(jt1);
xinXiClass.setBookName(jt2);
xinXiClass.setPress(jt3);
xinXiClass.setCategory(jt4);
xinXiClass.setAuthor(jt5);
xinXiClass.setPrice(jt6);
LieBiao.add(xinXiClass);
}
}
for (XinXiClass S : LieBiao) {
jta.append("编号:"+S.getBookId()+" "+"书名:"+S.getBookName()+" "+"出版社:"+S.getPress()+" "+"类型:"+ S.getCategory()+" "+"作者:"+S.getAuthor()+" "+"价格:"+S.getPrice()+"\n");
}
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
}
});
//查询
jButton4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String jt1=jTextField1.getText();
for(int i=0;i<LieBiao.size();i++) {
if(LieBiao.get(i).getBookId().equals(jt1)) {//用来 获取列表里的对象ID 然后判断是否相等
jta.setText(String.valueOf(LieBiao.get(i)));
}
}
}
});
}
}
5,文件如同所示:
6,有需要完成代码的,或者有疑问的,更或者有更好的改进办法的,欢迎私信我来交流!