`
Jony.Hwong
  • 浏览: 114753 次
  • 来自: ...
社区版块
存档分类
最新评论

ListSelectionListener,鼠标选中,键盘选中

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

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

        table.getSelectionModel().addListSelectionListener(new TableRowModelListener(table));

	public class TableRowModelListener implements ListSelectionListener {
		private JTable table;

		public TableRowModelListener(JTable table) {
			this.table = table;
		}

		public void valueChanged(ListSelectionEvent e) {
			boolean b = table.getSelectionModel().getValueIsAdjusting();
			if(!b)
			System.out.println("ddddddddddd");
		}
	}
分享到:
评论
1 楼 linchixiong 2011-04-10  
学习了,最近做一个练习时发现了会响应两次,现在终于知道为什么了~

相关推荐

Global site tag (gtag.js) - Google Analytics