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");
}
}
分享到:
相关推荐
主要介绍了Java Swing中JList选择事件监听器ListSelectionListener用法,结合具体实例形式分析了中JList选择事件监听器ListSelectionListener的功能、使用方法及相关注意事项,需要的朋友可以参考下
表格选择模式,当用户对表格做数据域位的选取时会产生ListSelectionListener事件
ListSelectionListener, CellEditorListener, Accessible{…} 类AbstractTableModel: 定义如下: public abstract class AbstractTableModel extends Object implements TableModel, Serializable{…} 生成...
public class fontDialog extends JDialog implements ActionListener,ListSelectionListener{ public static final int Cancle=0; public static final int OK=1; public static final String [] style={"正常",...