您的位置:首页 > 其它

JTabel选择表格事件监听时,用鼠标点击一次,会出现两次事件的原因。

2012-05-26 14:17 609 查看
1。选择某一行(当选择这一行时,需要产生某种事件)

当用鼠标对表格进行选取,在响应行选取变化事件(ListSelectionListener)时,鼠标按下会响应一次,鼠标释放又会响应一次,因此一次鼠标的点击会有两次事件响应(按下和释放)。前者的事件属性中getValueIsAdjusting()=true,后者是false。因此,可以通过判断getValueIsAdjusting()来区别鼠标按下和释放,进行不同的操作。

而用键盘的上下键选取时,只有一次事件响应。

table.getSelectionModel().addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
//do you what to do
}});


2。选择某一列(当选择这一列时,需要产生某种事件)[ListSelectionListener]

table.getColumnModel().addColumnModelListener(
new TableColumnModelListener() {
public void columnAdded(TableColumnModelEvent e) {}
public void columnMarginChanged(ChangeEvent e) {
}
public void columnMoved(TableColumnModelEvent e) {
}
public void columnRemoved(TableColumnModelEvent e) {
}
public void columnSelectionChanged(ListSelectionEvent e) {}
);

3.单元格响应事件[TableModelListener此细粒度通知告知侦听器单元格、行或列的哪些具体范围发生了更改]




table.getModel().addTableModelListener(new
TableModelListener() ...{




public
void tableChanged(TableModelEvent e)
...{});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐