I'm creating an application that will allow our consultants to create and edit a specific type of hierarchy. The obvious component for this would be JTree, but the consultants want something that looks more like a text editor, perhaps a JTextArea. The problem is, they'd like to be able to collape parts of the hierarchy. Can this be done with a JTextArea, or do I need to use a JTree? Also, does anyone know if it's possible to give a JTextArea a macro facility or user-defined keyboard navigation combos?