public void keyReleased(KeyEvent e) {
// navigate history down/up using the corresponding arrow keys.
long ref = model.getReferencePointInTime().getVersion();
long cur = model.getCurrentPointInTime().getVersion();
if (e.getKeyCode() == KeyEvent.VK_DOWN) {
History refNext = model.getHistory().from(ref);
History curNext = model.getHistory().from(cur);
if (refNext.getNumVersions() > 1 && curNext.getNumVersions() > 1) {
model.setReferencePointInTime(refNext.sortAscending().get(1));
model.setCurrentPointInTime(curNext.sortAscending().get(1));
}
} else if (e.getKeyCode() == KeyEvent.VK_UP) {
History refNext = model.getHistory().until(ref);
History curNext = model.getHistory().until(cur);
if (refNext.getNumVersions() > 1 && curNext.getNumVersions() > 1) {
model.setReferencePointInTime(refNext.sortDescending().get(1));
model.setCurrentPointInTime(curNext.sortDescending().get(1));
}
}
}
});
getModel().addTableModelListener(new TableModelListener() {