boolean (Object component, boolean shiftdown, boolean controldown, int keychar, int keycode, String itemname, String leafname) { if ((keycode == KeyEvent.VK_UP) || (keycode == KeyEvent.VK_DOWN) || (keycode == KeyEvent.VK_PAGE_UP) || (keycode == KeyEvent.VK_PAGE_DOWN) || (keycode == KeyEvent.VK_HOME) || (keycode == KeyEvent.VK_END)) { Object lead = get(component, "lead"); Object row = getListItem(component, component, keycode, lead, itemname, leafname); if (row != null) { String selection = getString(component, "selection", "single"); if (shiftdown && (selection != "single") && (lead != null)) { extend(component, lead, row, itemname, leafname); } else if (!controldown) { selectItem(component, row, itemname, leafname); } setLead(component, lead, row); Rectangle r = getRectangle(row, "bounds"); scrollToVisible(component, r.x, r.y, 0, r.height - 1); return true; } } else if (keychar == KeyEvent.VK_SPACE) { select(component, get(component, "lead"), itemname, leafname, shiftdown, controldown); //... return true; } else if (controldown) { if (((keycode == KeyEvent.VK_A) || (keycode == 0xBF)) && //KeyEvent.VK_SLASH (getString(component, "selection", "single") != "single")) { selectAll(component, true, itemname, leafname); return true; } else if (keycode == 0xDC) { //KeyEvent.VK_BACK_SLASH selectAll(component, false, itemname, leafname); return true; } } return false; }