Swing开发的收获心得(一)---------Jtable刷新

3 篇文章 0 订阅
1 篇文章 0 订阅

 最近不太忙,写了个j2se的应用程序,边写边解决,发现很多有意思的问题。把问题和解决方法整理下,方便后来人吧。

废话不多说,上图

 

需求是,点击用户管理这个JFrame上的新增,会弹出一个JDialog。新增完了,JDialog关闭,用户管理的jtabl会刷新

思路是,insert数据完了之后,重新select数据,把数据重新传给Jtable。下面是代码:

1、触发新增按钮

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
  // 新增
  if(userSession!=null) {
   new AddUserFrame(this,true,userSession,jTable1).setVisible(true);这里把Jtable传给了新增的页面
  }else {
   JOptionPane.showMessageDialog(this, "无权限,请退出软件重新登录", "提示", JOptionPane.ERROR_MESSAGE);
  }
 }

2、插入后的数据回传

       Date date = new Date();
       SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       String time = df.format(date);
       int uid = dbCon.getUserID(userSession);
       String newPwd = MD5.MD5(password);
       String sql = "insert into user (uname,pwd,adduser,addtime,status,realname) values ('"+uname+"','"+newPwd+"','"+uid+"','"+time+"','"+status+"','"+realname+"')";
       dbCon.insert(sql);
       JOptionPane.showMessageDialog(this, "添加成功", "提示", JOptionPane.INFORMATION_MESSAGE);
       dispose();蓝得可以不看
       //刷新Jtable数据
       Object[][] data = null;
       data = dbCon.getAllUserInfo();获得新数据,根据自己情况去获得数据
       String[] names = {"序号","用户名","真实姓名","状态"};
       MyTableModel tableModel = new MyTableModel(data, names);重新创建一个TableModel
       jTable.setModel(tableModel);
       jTable.setEnabled(true);
       DefaultTableCellRenderer r = new DefaultTableCellRenderer();   //cell居中
       r.setHorizontalAlignment(JLabel.CENTER);
       jTable.setDefaultRenderer(Object.class, r); 
观,让数据居中的黄色的是为了美观,让数据居中的代码中的

 

这里我自己重写了JtableModel,自己定义了个MyTableModel,大家一般用DefaultTableModel就可以

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值