String () { String name = super.getAccessibleName(); // Add shortcuts labels if available @NlsSafe String shortcutName = null; TreePath path = myTree.getPathForRow(myRow); if (path == null) return KeyMapBundle.message("accessible.name.unknown"); Object node = path.getLastPathComponent(); if (node instanceof DefaultMutableTreeNode) { Object data = ((DefaultMutableTreeNode)node).getUserObject(); if (!(data instanceof Hyperlink)) { RowData rowData = extractRowData(data); Shortcut[] shortcuts = rowData.shortcuts; if (shortcuts != null && shortcuts.length > 0) { StringBuilder sb = new StringBuilder(); for (Shortcut shortcut : shortcuts) { if (sb.length() > 0) { sb.append(", "); } sb.append(KeyMapBundle.message("accessible.name.shortcut")); sb.append(KeymapUtil.getShortcutText(shortcut)); } if (sb.length() > 0) { shortcutName = sb.toString(); } } } } return AccessibleContextUtil.combineAccessibleStrings(name, ", ", shortcutName); }