每当用户单击表列进行排序时,我都需要存储鼠标单击事件。
我基本上是在保存MouseEven:
public void mouseClicked(MouseEvent e_)我将e_存储在一个全局变量上,这样以后我就可以触发相同的事件,并将表排序到前一个用户排序操作。
但是当我手动触发之前存储的鼠标事件时,表不会排序。
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(_mouseEvent);所以基本上这就是我想要的工作方式。用户单击JTable列进行排序。我将创建的MouseEvent存储在一个全局变量中。当重新创建JTable时,我需要将它设置为以前的排序操作。
这就是为什么我需要重新启动存储的MouseEvent,但它不起作用。有什么想法吗?
发布于 2010-07-13 10:01:02
它与鼠标事件无关。您必须存储行排序器的状态。看看RowSorter API吧。您可以使用getSortKeys()和setSortKeys()方法检索和恢复此状态。显然可以使用getRowSorter()方法从您的表中获取RowSorter。
希望这是有意义的。
发布于 2010-07-13 09:41:35
请参阅DefaultRowSorter的sort()方法。
https://stackoverflow.com/questions/3233510
复制相似问题