/** Creates and returns the instanceof JTreeTable that will be used. */ protected JTreeTable createTreeTable(TreeTableModel model) { final JTreeTable treeTable = new JTreeTable(model); treeTable .getTree() .getSelectionModel() .setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); treeTable.setDefaultRenderer(Object.class, new ComponentsStringRenderer()); treeTable.getTree().setCellRenderer(new VRMLComponentsCellRenderer()); /* treeTable.getTree().addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { textArea.select(textArea.getText().indexOf(e.getPath().getLastPathComponent().toString()),e.getPath().getLastPathComponent().toString().length()+textArea.getText().indexOf(e.getPath().getLastPathComponent().toString())); //To change body of implemented methods use File | Settings | File Templates. } }); */ return treeTable; }
/** * Get the currently selected rows. * * @return an Iterator whose objects are TableRow */ public Iterator getSelectedRows() { TreePath[] paths = table.getSelectionPaths(); if ((paths == null) || (paths.length < 1)) return null; HashSet set = new HashSet(2 * paths.length); for (int i = 0; i < paths.length; i++) { model.addRowsToSetFromPath(table.getTree(), paths[i], set); } return set.iterator(); }