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);
}
}
}
到此,结束
百度已经有很多了,结合我自己的例子,直接上图.
想要的效果是双击该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);
}
}
}
到此,结束
相关文章推荐
- Swing开发的收获心得(一)---------Jtable刷新
- Swing开发的收获心得(三)---------Jtable导成Excel
- Swing表格自定义JTable (表格可编辑)
- java从入门到精髓 - Swing表格自定义JTable 选中行及取消选中
- java从入门到精髓 - Swing表格自定义JTable
- Java Swing JTable 表格【15:组合列表框作为表格元素】
- Java Swing编程:JTable表格
- Java Swing JTable 表格【11:表格使用自定义渲染器】
- js+css实现动态删除表格行、列、双击编辑
- swing中设置JTable的单元格不能被编辑、内容居中显示、隐藏JTable中的某一列
- Swing之JTable篇设置表格选中行的前景色和背景色
- 开发收获心得
- java从入门到精髓 - Swing表格JTable利用tableModel添加行修改行删除行
- JTable响应鼠标双击的事件, 并且希望能获得鼠标事件发生在Table中行列位置
- Java Swing JTable 表格【16:复选框JCheckBox作为表格元素】
- (总结)Swing组件的使用---表格(JTable)和树(JTree)
- jquery实现双击编辑表格
- 设置JTable表格不可编辑
- swing设置JTable的单元格内容居中显示、不能被编辑,隐藏某一列
- 如何开发动态表格编辑功能