List of usage examples for javax.swing JTree setSelectionPath
public void setSelectionPath(TreePath path)
From source file:eu.crisis_economics.abm.dashboard.Page_Parameters.java
private JPanel createAParameterBox(final boolean first) { final JLabel runLabel = new JLabel("<html><b>Number of runs:</b> 0</html>"); final JLabel warningLabel = new JLabel(); final JButton closeButton = new JButton(); closeButton.setOpaque(false);//w w w . j a v a2 s . com closeButton.setBorder(null); closeButton.setFocusable(false); if (!first) { closeButton.setRolloverIcon(PARAMETER_BOX_REMOVE); closeButton.setRolloverEnabled(true); closeButton.setIcon(RGBGrayFilter.getDisabledIcon(closeButton, PARAMETER_BOX_REMOVE)); closeButton.setActionCommand(ACTIONCOMMAND_REMOVE_BOX); } final JScrollPane treeScrPane = new JScrollPane(); final DefaultMutableTreeNode treeRoot = new DefaultMutableTreeNode(); final JTree tree = new JTree(treeRoot); ToolTipManager.sharedInstance().registerComponent(tree); tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); tree.setCellRenderer(new ParameterBoxTreeRenderer()); tree.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(final TreeSelectionEvent e) { final TreePath selectionPath = tree.getSelectionPath(); boolean success = true; if (editedNode != null && (selectionPath == null || !editedNode.equals(selectionPath.getLastPathComponent()))) success = modify(); if (success) { if (selectionPath != null) { cancelAllSelectionBut(tree); final DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectionPath .getLastPathComponent(); if (!node.equals(editedNode)) { ParameterInATree userObj = null; final DefaultTreeModel model = (DefaultTreeModel) tree.getModel(); if (!node.isRoot() && selectionPath.getPathCount() == model.getPathToRoot(node).length) { userObj = (ParameterInATree) node.getUserObject(); final ParameterInfo info = userObj.info; editedNode = node; editedTree = tree; edit(info); } else { tree.setSelectionPath(null); if (cancelButton.isEnabled()) cancelButton.doClick(); resetSettings(); enableDisableSettings(false); editedNode = null; editedTree = null; } updateDescriptionField(userObj); } else updateDescriptionField(); } else updateDescriptionField(); enableDisableParameterCombinationButtons(); } else { final DefaultTreeModel model = (DefaultTreeModel) editedTree.getModel(); final DefaultMutableTreeNode storedEditedNode = editedNode; editedNode = null; tree.setSelectionPath(null); editedNode = storedEditedNode; editedTree.setSelectionPath(new TreePath(model.getPathToRoot(editedNode))); } } }); treeScrPane.setViewportView(tree); treeScrPane.setBorder(null); treeScrPane.setViewportBorder(null); treeScrPane.setPreferredSize(new Dimension(450, 250)); final JButton upButton = new JButton(); upButton.setOpaque(false); upButton.setRolloverEnabled(true); upButton.setIcon(PARAMETER_UP_ICON); upButton.setRolloverIcon(PARAMETER_UP_ICON_RO); upButton.setDisabledIcon(PARAMETER_UP_ICON_DIS); upButton.setBorder(null); upButton.setToolTipText("Move up the selected parameter"); upButton.setActionCommand(ACTIONCOMMAND_MOVE_UP); final JButton downButton = new JButton(); downButton.setOpaque(false); downButton.setRolloverEnabled(true); downButton.setIcon(PARAMETER_DOWN_ICON); downButton.setRolloverIcon(PARAMETER_DOWN_ICON_RO); downButton.setDisabledIcon(PARAMETER_DOWN_ICON_DIS); downButton.setBorder(null); downButton.setToolTipText("Move down the selected parameter"); downButton.setActionCommand(ACTIONCOMMAND_MOVE_DOWN); final JPanel mainPanel = FormsUtils.build("~ f:p:g ~ p ~ r:p", "012||" + "333||" + "44_||" + "445||" + "446||" + "44_ f:p:g", runLabel, first ? "" : warningLabel, first ? warningLabel : closeButton, new FormsUtils.Separator(""), treeScrPane, upButton, downButton) .getPanel(); mainPanel.setBorder(BorderFactory.createTitledBorder("")); final JButton addButton = new JButton(); addButton.setOpaque(false); addButton.setRolloverEnabled(true); addButton.setIcon(PARAMETER_ADD_ICON); addButton.setRolloverIcon(PARAMETER_ADD_ICON_RO); addButton.setDisabledIcon(PARAMETER_ADD_ICON_DIS); addButton.setBorder(null); addButton.setToolTipText("Add selected parameter"); addButton.setActionCommand(ACTIONCOMMAND_ADD_PARAM); final JButton removeButton = new JButton(); removeButton.setOpaque(false); removeButton.setRolloverEnabled(true); removeButton.setIcon(PARAMETER_REMOVE_ICON); removeButton.setRolloverIcon(PARAMETER_REMOVE_ICON_RO); removeButton.setDisabledIcon(PARAMETER_REMOVE_ICON_DIS); removeButton.setBorder(null); removeButton.setToolTipText("Remove selected parameter"); removeButton.setActionCommand(ACTIONCOMMAND_REMOVE_PARAM); final JPanel result = FormsUtils.build("p ~ f:p:g", "_0 f:p:g||" + "10 p ||" + "20 p||" + "_0 f:p:g", mainPanel, addButton, removeButton).getPanel(); Style.registerCssClasses(result, Dashboard.CSS_CLASS_COMMON_PANEL); final ParameterCombinationGUI pcGUI = new ParameterCombinationGUI(tree, treeRoot, runLabel, warningLabel, addButton, removeButton, upButton, downButton); parameterTreeBranches.add(pcGUI); final ActionListener boxActionListener = new ActionListener() { //==================================================================================================== // methods //---------------------------------------------------------------------------------------------------- public void actionPerformed(final ActionEvent e) { final String cmd = e.getActionCommand(); if (ACTIONCOMMAND_ADD_PARAM.equals(cmd)) handleAddParameter(pcGUI); else if (ACTIONCOMMAND_REMOVE_PARAM.equals(cmd)) handleRemoveParameter(tree); else if (ACTIONCOMMAND_REMOVE_BOX.equals(cmd)) handleRemoveBox(tree); else if (ACTIONCOMMAND_MOVE_UP.equals(cmd)) handleMoveUp(); else if (ACTIONCOMMAND_MOVE_DOWN.equals(cmd)) handleMoveDown(); } //---------------------------------------------------------------------------------------------------- private void handleAddParameter(final ParameterCombinationGUI pcGUI) { final Object[] selectedValues = parameterList.getSelectedValues(); if (selectedValues != null && selectedValues.length > 0) { final AvailableParameter[] params = new AvailableParameter[selectedValues.length]; System.arraycopy(selectedValues, 0, params, 0, selectedValues.length); addParameterToTree(params, pcGUI); enableDisableParameterCombinationButtons(); } } //---------------------------------------------------------------------------------------------------- private void handleRemoveParameter(final JTree tree) { final TreePath selectionPath = tree.getSelectionPath(); if (selectionPath != null) { cancelButton.doClick(); final DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectionPath .getLastPathComponent(); if (!node.isRoot()) { final DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) node.getParent(); if (parentNode.isRoot()) { removeParameter(tree, node, parentNode); enableDisableParameterCombinationButtons(); } } } } //---------------------------------------------------------------------------------------------------- private void handleRemoveBox(final JTree tree) { final int answer = Utilities.askUser(dashboard, false, "Comfirmation", "This operation deletes the combination.", "All related parameter returns back to the list on the left side.", "Are you sure?"); if (answer == 1) { final DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel(); if (tree.getSelectionCount() > 0) { editedNode = null; tree.setSelectionPath(null); if (cancelButton.isEnabled()) cancelButton.doClick(); } final DefaultMutableTreeNode root = (DefaultMutableTreeNode) treeModel.getRoot(); for (int i = 0; i < root.getChildCount(); ++i) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode) root.getChildAt(i); removeParameter(tree, node, root); } enableDisableParameterCombinationButtons(); parameterTreeBranches.remove(pcGUI); combinationsPanel.remove(result); combinationsPanel.revalidate(); updateNumberOfRuns(); } } //---------------------------------------------------------------------------------------------------- private void removeParameter(final JTree tree, final DefaultMutableTreeNode node, final DefaultMutableTreeNode parentNode) { final ParameterInATree userObj = (ParameterInATree) node.getUserObject(); final ParameterInfo originalInfo = findOriginalInfo(userObj.info); if (originalInfo != null) { final DefaultListModel model = (DefaultListModel) parameterList.getModel(); model.addElement(new AvailableParameter(originalInfo, currentModelHandler.getModelClass())); final DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel(); treeModel.removeNodeFromParent(node); updateNumberOfRuns(); tree.expandPath(new TreePath(treeModel.getPathToRoot(parentNode))); } else throw new IllegalStateException( "Parameter " + userObj.info.getName() + " is not found in the model."); } //---------------------------------------------------------------------------------------------------- private void handleMoveUp() { final TreePath selectionPath = tree.getSelectionPath(); if (selectionPath != null) { boolean success = true; if (editedNode != null) success = modify(); if (success) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectionPath .getLastPathComponent(); final DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent(); if (parent == null || parent.getFirstChild().equals(node)) { tree.setSelectionPath(null); // we need this to preserve the state of the parameter settings panel tree.setSelectionPath(new TreePath(node.getPath())); return; } final int index = parent.getIndex(node); final DefaultTreeModel treemodel = (DefaultTreeModel) tree.getModel(); treemodel.removeNodeFromParent(node); treemodel.insertNodeInto(node, parent, index - 1); tree.setSelectionPath(new TreePath(node.getPath())); } } } //---------------------------------------------------------------------------------------------------- private void handleMoveDown() { final TreePath selectionPath = tree.getSelectionPath(); if (selectionPath != null) { boolean success = true; if (editedNode != null) success = modify(); if (success) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectionPath .getLastPathComponent(); final DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent(); if (parent == null || parent.getLastChild().equals(node)) { tree.setSelectionPath(null); // we need this to preserve the state of the parameter settings panel tree.setSelectionPath(new TreePath(node.getPath())); return; } final int index = parent.getIndex(node); final DefaultTreeModel treemodel = (DefaultTreeModel) tree.getModel(); treemodel.removeNodeFromParent(node); treemodel.insertNodeInto(node, parent, index + 1); tree.setSelectionPath(new TreePath(node.getPath())); } } } }; GUIUtils.addActionListener(boxActionListener, closeButton, upButton, downButton, addButton, removeButton); result.setPreferredSize(new Dimension(500, 250)); enableDisableParameterCombinationButtons(); Style.apply(result, dashboard.getCssStyle()); return result; }
From source file:nz.govt.natlib.ndha.manualdeposit.ManualDepositPresenter.java
public void selectNode(Object nodeObject, ETreeType treeType) { JTree tree = getTree(treeType); DepositTreeModel model = (DepositTreeModel) tree.getModel(); DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode) model.getRoot(); DefaultMutableTreeNode node = findNode(rootNode, nodeObject); if (node != null) { LOG.debug("selectNode Node object found"); TreePath path = new TreePath(node.getPath()); tree.scrollPathToVisible(path);/*from ww w .j a v a 2s . co m*/ tree.setSelectionPath(path); } else { LOG.debug("selectNode Node object not found"); } }
From source file:org.apache.jmeter.gui.action.ChangeParent.java
private void changeParent(TestElement newParent, GuiPackage guiPackage, JMeterTreeNode currentNode) { // keep the old name if it was not the default one Controller currentController = (Controller) currentNode.getUserObject(); JMeterGUIComponent currentGui = guiPackage.getCurrentGui(); String defaultName = JMeterUtils.getResString(currentGui.getLabelResource()); if (StringUtils.isNotBlank(currentController.getName()) && !currentController.getName().equals(defaultName)) { newParent.setName(currentController.getName()); }//from www .j a v a2 s .co m JMeterTreeModel treeModel = guiPackage.getTreeModel(); JMeterTreeNode newNode = new JMeterTreeNode(newParent, treeModel); JMeterTreeNode parentNode = (JMeterTreeNode) currentNode.getParent(); int index = parentNode.getIndex(currentNode); treeModel.insertNodeInto(newNode, parentNode, index); treeModel.removeNodeFromParent(currentNode); int childCount = currentNode.getChildCount(); for (int i = 0; i < childCount; i++) { // Using index 0 is voluntary as child is removed in next step and added to new parent JMeterTreeNode node = (JMeterTreeNode) currentNode.getChildAt(0); treeModel.removeNodeFromParent(node); treeModel.insertNodeInto(node, newNode, newNode.getChildCount()); } // select the node TreeNode[] nodes = treeModel.getPathToRoot(newNode); JTree tree = guiPackage.getTreeListener().getJTree(); tree.setSelectionPath(new TreePath(nodes)); }
From source file:org.apache.jmeter.JMeter.java
/** * Starts up JMeter in GUI mode//from www . j ava 2 s . com */ private void startGui(String testFile) { String jMeterLaf = LookAndFeelCommand.getJMeterLaf(); try { UIManager.setLookAndFeel(jMeterLaf); } catch (Exception ex) { log.warn("Could not set LAF to:" + jMeterLaf, ex); } PluginManager.install(this, true); JMeterTreeModel treeModel = new JMeterTreeModel(); JMeterTreeListener treeLis = new JMeterTreeListener(treeModel); final ActionRouter instance = ActionRouter.getInstance(); instance.populateCommandMap(); treeLis.setActionHandler(instance); // NOTUSED: GuiPackage guiPack = GuiPackage.getInstance(treeLis, treeModel); MainFrame main = new MainFrame(treeModel, treeLis); ComponentUtil.centerComponentInWindow(main, 80); main.setVisible(true); instance.actionPerformed(new ActionEvent(main, 1, ActionNames.ADD_ALL)); if (testFile != null) { try { File f = new File(testFile); log.info("Loading file: " + f); FileServer.getFileServer().setBaseForScript(f); HashTree tree = SaveService.loadTree(f); GuiPackage.getInstance().setTestPlanFile(f.getAbsolutePath()); Load.insertLoadedTree(1, tree); } catch (ConversionException e) { log.error("Failure loading test file", e); JMeterUtils.reportErrorToUser(SaveService.CEtoString(e)); } catch (Exception e) { log.error("Failure loading test file", e); JMeterUtils.reportErrorToUser(e.toString()); } } else { JTree jTree = GuiPackage.getInstance().getMainFrame().getTree(); TreePath path = jTree.getPathForRow(0); jTree.setSelectionPath(path); FocusRequester.requestFocus(jTree); } }
From source file:org.executequery.gui.browser.TreeFindAction.java
private void changeSelection(JTree tree, TreePath path) { tree.setSelectionPath(path); tree.scrollPathToVisible(path); }
From source file:org.fhaes.gui.AnalysisResultsPanel.java
/** * Set up the AnalysisResults GUI//from w w w . j a v a2s. c o m */ private void initGUI() { setLayout(new BorderLayout(0, 0)); if (Platform.isOSX()) setBackground(MainWindow.MAC_BACKGROUND_COLOR); ImageIcon iconMultipleTables = Builder.getImageIcon("multipletables16.png"); ImageIcon iconTable = Builder.getImageIcon("table16.png"); // ImageIcon iconChart = Builder.getImageIcon("chart16.png"); // Categories rootNode = new FHAESCategoryTreeNode("FHAES analysis results"); categoryGeneral = new FHAESCategoryTreeNode("Descriptive summaries", Builder.getImageIcon("interval16.png")); categoryInterval = new FHAESCategoryTreeNode("Interval analysis", Builder.getImageIcon("interval16.png")); categorySeasonality = new FHAESCategoryTreeNode("Seasonality", Builder.getImageIcon("seasonality16.png")); categoryBinarySummaryMatrices = new FHAESCategoryTreeNode("Binary summary matrices", Builder.getImageIcon("matrix16.png")); categoryBinaryMatrices = new FHAESCategoryTreeNode("Binary comparison matrices", Builder.getImageIcon("matrix16.png")); categorySimMatrices = new FHAESCategoryTreeNode("Similarity matrices", Builder.getImageIcon("matrix16.png")); categoryDisSimMatrices = new FHAESCategoryTreeNode("Dissimilarity matrices", Builder.getImageIcon("matrix16.png")); // Menu actions // Results itemJaccard = new FHAESResultTreeNode(FHAESResult.JACCARD_SIMILARITY_MATRIX, iconMultipleTables); itemJaccard.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(SJACFile, new CSVFileFilter()); } }); itemCohen = new FHAESResultTreeNode(FHAESResult.COHEN_SIMILARITITY_MATRIX, iconMultipleTables); itemCohen.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(SCOHFile, new CSVFileFilter()); } }); itemJaccardD = new FHAESResultTreeNode(FHAESResult.JACCARD_SIMILARITY_MATRIX_D, iconMultipleTables); itemJaccardD.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(DSJACFile, new CSVFileFilter()); } }); itemCohenD = new FHAESResultTreeNode(FHAESResult.COHEN_SIMILARITITY_MATRIX_D, iconMultipleTables); itemCohenD.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(DSCOHFile, new CSVFileFilter()); } }); itemIntervalSummary = new FHAESResultTreeNode(FHAESResult.INTERVAL_SUMMARY, iconMultipleTables); itemIntervalSummary.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(intervalsSummaryFile, new CSVFileFilter()); } }); itemExceedence = new FHAESResultTreeNode(FHAESResult.INTERVAL_EXCEEDENCE_TABLE, iconMultipleTables); itemExceedence.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(intervalsExceedenceFile, new CSVFileFilter()); } }); itemSeasonalitySummary = new FHAESResultTreeNode(FHAESResult.SEASONALITY_SUMMARY, iconMultipleTables); itemSeasonalitySummary.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(seasonalitySummaryFile, new CSVFileFilter()); } }); itemBin00 = new FHAESResultTreeNode(FHAESResult.BINARY_MATRIX_00, iconMultipleTables); itemBin00.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(bin00File, new CSVFileFilter()); } }); itemBin01 = new FHAESResultTreeNode(FHAESResult.BINARY_MATRIX_01, iconMultipleTables); itemBin01.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(bin01File, new CSVFileFilter()); } }); itemBin10 = new FHAESResultTreeNode(FHAESResult.BINARY_MATRIX_10, iconMultipleTables); itemBin10.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(bin10File, new CSVFileFilter()); } }); itemBin11 = new FHAESResultTreeNode(FHAESResult.BINARY_MATRIX_11, iconMultipleTables); itemBin11.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(bin11File, new CSVFileFilter()); } }); itemBinSum = new FHAESResultTreeNode(FHAESResult.BINARY_MATRIX_SUM, iconMultipleTables); itemBinSum.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(binSumFile, new CSVFileFilter()); } }); itemBinSiteSummary = new FHAESResultTreeNode(FHAESResult.BINARY_MATRIX_SITE, iconMultipleTables); itemBinSiteSummary.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(siteSummaryFile, new CSVFileFilter()); } }); itemBinSiteSummary.addAction(new FHAESAction("Export to shapefile", "formatshp.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { new ShapeFileDialog(App.mainFrame, fhm); } }); itemBinTreeSummary = new FHAESResultTreeNode(FHAESResult.BINARY_MATRIX_TREE, iconMultipleTables); itemBinTreeSummary.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(treeSummaryFile, new CSVFileFilter()); } }); itemNTP = new FHAESResultTreeNode(FHAESResult.BINARY_MATRIX_NTP, iconMultipleTables); itemNTP.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(NTPFile, new CSVFileFilter()); } }); this.itemGeneralSummary = new FHAESResultTreeNode(FHAESResult.GENERAL_SUMMARY, iconMultipleTables); itemGeneralSummary.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(generalSummaryFile, new CSVFileFilter()); } }); this.itemSingleFileSummary = new FHAESResultTreeNode(FHAESResult.SINGLE_FILE_SUMMARY, iconTable); itemSingleFileSummary.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(singleFileSummaryFile, new CSVFileFilter()); } }); this.itemSingleEventSummary = new FHAESResultTreeNode(FHAESResult.SINGLE_EVENT_SUMMARY, iconTable); itemSingleEventSummary.addAction(new FHAESAction("Save to CSV", "formatcsv.png") { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent event) { saveFileToDisk(singleEventSummaryFile, new CSVFileFilter()); } }); // Add results to categories categoryGeneral.add(itemGeneralSummary); categoryGeneral.add(itemSingleFileSummary); categoryGeneral.add(itemSingleEventSummary); categorySimMatrices.add(itemJaccard); categorySimMatrices.add(itemCohen); categoryDisSimMatrices.add(itemJaccardD); categoryDisSimMatrices.add(itemCohenD); categoryInterval.add(itemIntervalSummary); categoryInterval.add(itemExceedence); categorySeasonality.add(itemSeasonalitySummary); categoryBinaryMatrices.add(itemBin11); categoryBinaryMatrices.add(itemBin01); categoryBinaryMatrices.add(itemBin10); categoryBinaryMatrices.add(itemBin00); categoryBinaryMatrices.add(itemBinSum); categoryBinarySummaryMatrices.add(itemBinSiteSummary); categoryBinarySummaryMatrices.add(itemBinTreeSummary); categoryBinarySummaryMatrices.add(itemNTP); // Add categories to root of tree rootNode.add(categoryGeneral); rootNode.add(categoryInterval); rootNode.add(categorySeasonality); rootNode.add(categoryBinarySummaryMatrices); rootNode.add(categoryBinaryMatrices); rootNode.add(categorySimMatrices); rootNode.add(categoryDisSimMatrices); treeModel = new DefaultTreeModel(rootNode); splitPane = new JSplitPane(); if (Platform.isOSX()) splitPane.setBackground(MainWindow.MAC_BACKGROUND_COLOR); splitPane.setResizeWeight(0.9); add(splitPane, BorderLayout.CENTER); JPanel panelTree = new JPanel(); splitPane.setRightComponent(panelTree); panelTree.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null)); panelTree.setLayout(new BorderLayout(0, 0)); // Build tree treeResults = new JTree(); panelTree.add(treeResults); treeResults.setModel(treeModel); treeResults.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); treeResults.setCellRenderer(new FHAESResultTreeRenderer()); pickResultPanel = new PickResultPanel(); runAnalysisPanel = new RunAnalysisPanel(); cards = new JPanel(); cl = new CardLayout(); cards.setLayout(cl); cards.add(pickResultPanel, PICKRESULTPANEL); cards.add(runAnalysisPanel, RUNANALYSIS); cards.add(emptyPanel, EMPTYPANEL); splitPane.setLeftComponent(cards); cl.show(cards, RUNANALYSIS); splitPaneResult = new JSplitPane(); splitPaneResult.setOneTouchExpandable(true); splitPaneResult.setOrientation(JSplitPane.VERTICAL_SPLIT); cards.add(splitPaneResult, RESULTSPANEL); panelResult = new JPanel(); panelResult.setBorder(new TitledBorder(null, "", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panelResult.setLayout(new BorderLayout(0, 0)); goldFishPanel = new GoldFishPanel(); splitPaneResult.setRightComponent(goldFishPanel); // Build table scrollPane = new JScrollPane(); panelResult.add(scrollPane); table = new JXTable(); adapter = new JTableSpreadsheetByRowAdapter(table); table.setModel(new DefaultTableModel()); table.setHorizontalScrollEnabled(true); scrollPane.setViewportView(table); splitPaneResult.setLeftComponent(panelResult); // OSX Style hack if (Platform.isOSX()) panelResult.setBackground(MainWindow.MAC_BACKGROUND_COLOR); if (Platform.isOSX()) scrollPane.setBackground(MainWindow.MAC_BACKGROUND_COLOR); // Expand all nodes for (int i = 0; i < treeResults.getRowCount(); i++) { treeResults.expandRow(i); } treeResults.addTreeSelectionListener(this); treeResults.addMouseListener(new MouseListener() { @Override public void mouseClicked(MouseEvent e) { if (SwingUtilities.isRightMouseButton(e)) { int x = e.getX(); int y = e.getY(); JTree tree = (JTree) e.getSource(); TreePath path = tree.getPathForLocation(x, y); if (path == null) return; if (!tree.isEnabled()) return; tree.setSelectionPath(path); Component mc = e.getComponent(); if (path != null && path.getLastPathComponent() instanceof FHAESResultTreeNode) { FHAESResultTreeNode node = (FHAESResultTreeNode) path.getLastPathComponent(); if (!node.isEnabled()) return; FHAESResultPopupMenu popupMenu = new FHAESResultPopupMenu(node.getArrayOfActions()); popupMenu.show(mc, e.getX(), e.getY()); } } } @Override public void mouseEntered(MouseEvent arg0) { } @Override public void mouseExited(MouseEvent arg0) { } @Override public void mousePressed(MouseEvent arg0) { } @Override public void mouseReleased(MouseEvent arg0) { } }); this.splitPaneResult.setDividerLocation(10000); this.splitPaneResult.setDividerSize(3); this.splitPaneResult.setResizeWeight(1); }
From source file:org.languagetool.gui.ConfigurationDialog.java
@NotNull private MouseAdapter getMouseAdapter() { return new MouseAdapter() { private void handlePopupEvent(MouseEvent e) { JTree tree = (JTree) e.getSource(); TreePath path = tree.getPathForLocation(e.getX(), e.getY()); if (path == null) { return; }/*from w w w . j a v a 2 s . c om*/ DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); TreePath[] paths = tree.getSelectionPaths(); boolean isSelected = false; if (paths != null) { for (TreePath selectionPath : paths) { if (selectionPath.equals(path)) { isSelected = true; } } } if (!isSelected) { tree.setSelectionPath(path); } if (node.isLeaf()) { JPopupMenu popup = new JPopupMenu(); JMenuItem aboutRuleMenuItem = new JMenuItem(messages.getString("guiAboutRuleMenu")); aboutRuleMenuItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) { RuleNode node = (RuleNode) tree.getSelectionPath().getLastPathComponent(); Rule rule = node.getRule(); Language lang = config.getLanguage(); if (lang == null) { lang = Languages.getLanguageForLocale(Locale.getDefault()); } Tools.showRuleInfoDialog(tree, messages.getString("guiAboutRuleTitle"), rule.getDescription(), rule, rule.getUrl(), messages, lang.getShortCodeWithCountryAndVariant()); } }); popup.add(aboutRuleMenuItem); popup.show(tree, e.getX(), e.getY()); } } @Override public void mousePressed(MouseEvent e) { if (e.isPopupTrigger()) { handlePopupEvent(e); } } @Override public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { handlePopupEvent(e); } } }; }
From source file:org.mbari.aved.ui.classifier.knowledgebase.SearchableConceptTreePanel.java
/** * Loads the branch of a particular concept. This method does the following * <ol>//from www.j a v a2 s .c o m * <li>Walks from the concept up the tree to the root concept, storing * the concepts in a list. (This is very fast)</li> * <li>Starts walking from the root down (using lazyExpand), searching each * childnode for a matching primary name (which was stored in the first * step</li> * <li>If a matching primary name is found this stops otherwise * it opens the next level and searches for the next mathc in the list.</li> * <li></li> * </ol> * @param concept */ private void openNode(final Concept concept) { if (log.isDebugEnabled()) { log.debug("Opening node containing " + concept); } if (concept == null) { return; } // Get the list of concepts up to root final LinkedList conceptList = new LinkedList(); Concept c = concept; while (c != null) { conceptList.add(c); c = (Concept) c.getParentConcept(); } // Walk the tree from root on down opening nodes as we go final ListIterator i = conceptList.listIterator(conceptList.size()); // Skip the root i.previous(); final JTree tree = getJTree(); final DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel(); final DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode) treeModel.getRoot(); TreePath path = new TreePath(rootNode.getPath()); tree.setSelectionPath(path); DefaultMutableTreeNode parentNode = rootNode; while (i.hasPrevious()) { c = (Concept) i.previous(); final TreeConcept parentTreeConcept = (TreeConcept) parentNode.getUserObject(); parentTreeConcept.lazyExpand(parentNode); // treeModel.reload(parentNode); final Enumeration enm = parentNode.children(); while (enm.hasMoreElements()) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode) enm.nextElement(); final TreeConcept tc = (TreeConcept) node.getUserObject(); if (tc.getName().equals(c.getPrimaryConceptNameAsString())) { parentNode = node; break; } } } final TreeNode _parentNode = parentNode; SwingUtilities.invokeLater(new Runnable() { public void run() { treeModel.reload(_parentNode); tree.scrollPathToVisible(new TreePath(_parentNode)); } }); }
From source file:org.nuclos.client.ui.collect.searcheditor.SearchEditorController.java
/** * event: a mouse event occured on a node in the <code>view</code> * @param selPath the path of the node where the mouse event occured. * @param ev//from w ww. j av a 2 s.c o m */ private void mouseEventOnNode(TreePath selPath, MouseEvent ev) { final SearchConditionTreeNode node = (SearchConditionTreeNode) selPath.getLastPathComponent(); final JTree tree = (JTree) ev.getComponent(); // select the node: tree.setSelectionPath(selPath); if (ev.isPopupTrigger()) { // show popup menu: final JPopupMenu popupMenu = this.getPopupMenu(node, tree); if (popupMenu != null) { popupMenu.show(ev.getComponent(), ev.getX(), ev.getY()); } } else if (ev.getID() == MouseEvent.MOUSE_CLICKED) { if (ev.getButton() == MouseEvent.BUTTON1) { if (ev.getClickCount() == 2) { if (this.clctfproviderfactory == null) { throw new IllegalStateException( "No CollectableFieldsProviderFactory was defined for the search editor."); } // perform the node's default action: final Action actDefault = node.getDefaultTreeNodeAction(tree, this.clcteRoot, this.clctfproviderfactory, this.additionalFields); if (actDefault != null) { actDefault.actionPerformed(null); } } } } }