学习管理系统——主界面实现

这篇博客主要讨论如何在Java中实现学习管理系统的主界面,特别是如何使用JTable进行实时更新。通过创建StudentServiceImpl类来从数据库获取信息,封装成TableDTO对象,并利用单例模式的StudentTableModel进行数据绑定,确保表格数据的实时同步。同时,介绍了查询功能的实现,包括监听查询按钮事件来调用reloadTable函数更新表格内容。
摘要由CSDN通过智能技术生成

主界面实现:

MainView

在这里插入图片描述
主界面布局如上所示:

有增加,修改,删除 ,查询文本框,和查询按钮。

这些都不重要,最重要的是,整个主界面的表格。

   //首先是 界面上的一些按钮
    JPanel northPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    JButton addButton = new JButton("增加");
    JButton updateBtn = new JButton("修改");
    JButton delBtn = new JButton("删除");
     JTextField searchTxh = new JTextField(15);
     
     JButton serBtn = new JButton("查询姓名");

    JPanel southpanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));//这一步是让southpanle里的东西在southpanel里面向右对齐
    JButton preBtn = new JButton("上一页");
    JButton nexBtn = new JButton("下一页");
     JTable jtable=null;
表格

主要讲这里面最重要的表格。

表格呢,是一个jtable对象。jtable就是一个表格。

然后表格我们需要给它传进一个tableModel进去,这样这个jtable就会和tableModel关联。tableModel改变jtable就会改变。

 jtable= new JTable(studentTableModel);

TableModel是什么?

这个要怎么设置呢?
它有一个setDataVector(data, columns)函数

需要传两个参数进去。

第一个是传一个表格的具体内容,也就是一个二维数组,严格来说是一个二维Vector(Vector是可扩展的数组)

而二个参数就是传一个一维数组(Vector)进去,也就是那个表头,姓名,邮箱阿那些。

接下来就是一个我花了很多时间研究,但是最后没想出来的问题

如何实时更新jtable

jtable是随jtablemodel影响,所以问题转化为,jtablemodel如何实时改变。

要结合后面想比较好理解。

比如说让表格显示 原有数据库的内容,比如我们在搜索框中输入某人的名字之后,就输出那人对应的信息。

比如说先让表格显示数据库中的内容。

那么我们需要三方面的工作。

  1. 我们需要连接到数据库,然后获取各学员的信息

  2. 我们要把各学员的信息封装成一个类

  3. 将各学员信息的这个类 导入到表格之中

           1.首先我们先看 连接到数据库
    
StudentSericeImpl类
 public class StudentServiceImpl implements  StudentService{
   

首先要创建一个实现类,这个类的功能就是从数据库中获取信息,在该类中有各种各样的与数据库交互的函数

比如说,显示数据库中对象的函数

 StringBuilder sql=new StringBuilder();
         sql.append("select *from student ");

         if(!"".equals(request.getSearchKey().trim()))
         {
   

             sql.append(" where name = '"+request.getSearchKey().trim()+"'");

         }
         else
         {
   
             sql.append("order by Id desc limit 50");//显示多少条数据

         }
         Connection connec
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值