Swing开发的收获心得(二)---------Jtable取消双击编辑,获得表格值

来源:互联网 发布:剑三马驹坐标数据导入 编辑:程序博客网 时间:2024/05/22 08:13

 上一篇讲的如何刷新JTable的数据,这次讲一下,如何取消Jtable默认双击编辑的效果。

百度已经有很多了,结合我自己的例子,直接上图.

想要的效果是双击该jtabl,弹出一个Jframe,可以进行操作。

思路:取消Jtable的双击修改的默认情况,改为取得单元格的内容。

1、自定义Jtable

class MyTableModel extends DefaultTableModel{

    /**
  * 自创表格类
  */
 private static final long serialVersionUID = 1L;

 public MyTableModel(Object[][] data, Object[] columnNames){
     super(data, columnNames);//这里一定要覆盖父类的构造方法,否则不能实例myTableModel
    }

    public boolean isCellEditable(int row, int column){
     return false;//父类的方法里面是 return true的,所以就可以编辑了~~~
    }
}

2、获得Jtabl的监听,取得内容

jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
   public void mouseClicked(java.awt.event.MouseEvent evt) {
    jTable1MouseClicked(evt);
   }

 });添加Jtable的mouseListener

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//双击单元格触发的效果
  if(evt.getClickCount()==2) {  双击
   int row = jTable1.getSelectedRow();//获得选中的行
   DBCon dbCon = new DBCon();
   data = dbCon.getAllUserInfo();//重新载入数据,免得越界
   String uname = (String) data[row][1];//用户名
   if(userSession!=null) {
    new ModifyUserFrame(userSession,uname,jTable1).setVisible(true);
   }else {
    JOptionPane.showMessageDialog(this, "无权限,请退出软件重新登录", "提示", JOptionPane.ERROR_MESSAGE);
   }
  }
 }

到此,结束