public ShortcutsTableData() { allActionIds = new ArrayList<String>(); Iterator<String> iterator = ActionManager.getActionIds(); while (iterator.hasNext()) allActionIds.add(iterator.next()); Collections.sort(allActionIds, ACTIONS_COMPARATOR); final int nbActions = allActionIds.size(); db = new HashMap<String, HashMap<Integer, Object>>(nbActions); int nbRows = allActionIds.size(); data = new Object[nbRows][NUM_OF_COLUMNS]; for (String actionId : allActionIds) { ActionDescriptor actionDescriptor = ActionProperties.getActionDescriptor(actionId); HashMap<Integer, Object> actionProperties = new HashMap<Integer, Object>(); ImageIcon actionIcon = actionDescriptor.getIcon(); if (actionIcon == null) actionIcon = transparentIcon; String actionLabel = actionDescriptor.getLabel(); /* 0 -> action's icon & name pair */ actionProperties.put( description, new Pair<ImageIcon, String>( IconManager.getPaddedIcon(actionIcon, new Insets(0, 4, 0, 4)), actionLabel)); /* 1 -> action's accelerator */ actionProperties.put(accelerator, ActionKeymap.getAccelerator(actionId)); /* 2 -> action's alternate accelerator */ actionProperties.put(alt_accelerator, ActionKeymap.getAlternateAccelerator(actionId)); /* 3 -> action's description */ actionProperties.put(tooltips, actionDescriptor.getDescription()); db.put(actionId, actionProperties); } }