您的位置:首页 > 其它

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

2011-11-21 17:01 579 查看
上一篇讲的如何刷新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);

}

}

}

到此,结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: