jtable mouseListener mousePressed selected TableCellRenderer
添加了mouse事件监听后的jTable的mousePressed事件的响应是比selected事件要早响应的, mouseClicked事件又比selected事件要后响应
自定义的TableCellRenderer
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if(isSelected) System.out.println("1");
}
}
添加了mouseListener后的jTable的事件
public void mousePressed(e) {
System.out.println("2");
}
public void mouseClicked(e) {
System.out.println("3");
}
最后的输出结果: 2 1 3
因为selected事件,cell被选中的时候,不一定要是点击的时候才会触发 System.out.println("1");
在repaint的时候也是会触发,所在要自定义TableCell或处理点击的时候,应要用到mousePressed来区分是正常的点击或repaint等区分其它的功能。。
可能同进还会用到 jTable.rowAtPoint(p); jTable.columnAtPoint(p);用于判断点击的cell是那个。
添加了mouse事件监听后的jTable的mousePressed事件的响应是比selected事件要早响应的, mouseClicked事件又比selected事件要后响应
自定义的TableCellRenderer
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if(isSelected) System.out.println("1");
}
}
添加了mouseListener后的jTable的事件
public void mousePressed(e) {
System.out.println("2");
}
public void mouseClicked(e) {
System.out.println("3");
}
最后的输出结果: 2 1 3
因为selected事件,cell被选中的时候,不一定要是点击的时候才会触发 System.out.println("1");
在repaint的时候也是会触发,所在要自定义TableCell或处理点击的时候,应要用到mousePressed来区分是正常的点击或repaint等区分其它的功能。。
可能同进还会用到 jTable.rowAtPoint(p); jTable.columnAtPoint(p);用于判断点击的cell是那个。
Labels:
Trackback: http://cwq.iou1314.com/_a142
Trackback: http://cwq.iou1314.com/_a142




















