List of usage examples for javax.swing.tree TreeCellRenderer TreeCellRenderer
TreeCellRenderer
From source file:de.quadrillenschule.azocamsyncd.gui.ExploreWifiSDPanel.java
/** * Creates new form ExploreWifiSDPanel//from w w w .j a v a 2 s . com */ public ExploreWifiSDPanel() { initComponents(); rootNode = new DefaultMutableTreeNode("/"); DefaultTreeModel dtm = new DefaultTreeModel(rootNode); remotejTree.setModel(dtm); remotejTree.addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { updateSingleView(); } }); remotejTree.setCellRenderer(new TreeCellRenderer() { @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { JLabel retval = new JLabel(value.toString()); AZoFTPFile myaffile = null; if (afs == null) { return retval; } for (AZoFTPFile af : afs) { if (new String(af.dir + af.ftpFile.getName()).equals(value.toString())) { myaffile = af; break; } } try { if (!myaffile.ftpFile.isDirectory()) { if (!localStorage.getLocalFile(myaffile).exists()) { if (!localStorage.isFileSynced(myaffile)) { retval.setForeground(new Color(0, 20, 100)); } } else { retval.setForeground(new Color(20, 100, 0)); } } } catch (Exception ex) { // Logger.getLogger(ExploreWifiSDPanel.class.getName()).log(Level.SEVERE, null, ex); } if (selected) { retval.setOpaque(true); retval.setBackground(Color.darkGray); } return retval; } }); }
From source file:com.mirth.connect.client.ui.alert.AlertChannelPane.java
private void makeChannelTable() { ChannelTreeTableModel model = new ChannelTreeTableModel(); model.setColumnIdentifiers(Arrays.asList(new String[] { "test" })); channelTreeTable.setTreeTableModel(model); channelTreeTable.setDoubleBuffered(true); channelTreeTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); channelTreeTable.setHorizontalScrollEnabled(true); channelTreeTable.packTable(UIConstants.COL_MARGIN); channelTreeTable.setRowHeight(UIConstants.ROW_HEIGHT); channelTreeTable.setOpaque(true);//from ww w . ja v a 2s .c om channelTreeTable.setRowSelectionAllowed(true); channelTreeTable.putClientProperty("JTree.lineStyle", "Horizontal"); channelTreeTable.setAutoCreateColumnsFromModel(false); channelTreeTable.setShowGrid(true, true); channelTreeTable.setTableHeader(null); channelTreeTable.setDragEnabled(false); channelTreeTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { boolean enabled = channelTreeTable.getSelectedRowCount() > 0; enableButton.setEnabled(enabled); disableButton.setEnabled(enabled); } } }); channelTreeTable.setTreeCellRenderer(new TreeCellRenderer() { private JLabel label = new JLabel(); @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { if (value != null) { if (value instanceof ChannelTreeTableNode) { ChannelTreeTableNode channelNode = (ChannelTreeTableNode) value; ImageIcon icon; if (channelNode.getChildCount() == 0) { // node is a channel node with no children icon = channelNode.isEnabled() ? UIConstants.ICON_BULLET_GREEN : UIConstants.ICON_BULLET_RED; } else { // node is a channel node with children boolean hasDisabled = false; boolean hasEnabled = false; for (int i = 0; i < channelNode.getChildCount(); i++) { ConnectorTreeTableNode connectorNode = (ConnectorTreeTableNode) channelNode .getChildAt(i); if (connectorNode.isEnabled()) { hasEnabled = true; } else { hasDisabled = true; } } if (hasEnabled && hasDisabled) { icon = UIConstants.ICON_BULLET_YELLOW; } else if (hasDisabled) { icon = UIConstants.ICON_BULLET_RED; } else if (hasEnabled) { icon = UIConstants.ICON_BULLET_GREEN; } else { // This should never occur because a channel should never be a leaf. icon = UIConstants.ICON_BULLET_RED; } } label.setText(channelNode.getChannelName()); label.setIcon(icon); } else if (value instanceof ConnectorTreeTableNode) { ConnectorTreeTableNode connectorNode = (ConnectorTreeTableNode) value; ImageIcon icon = connectorNode.isEnabled() ? UIConstants.ICON_BULLET_GREEN : UIConstants.ICON_BULLET_RED; label.setText(connectorNode.getConnectorName()); label.setIcon(icon); } } return label; } }); channelTreeTable.expandAll(); }
From source file:org.apache.oodt.cas.workflow.gui.perspective.view.impl.DefaultTreeView.java
@Override public void refreshView(final ViewState state) { Rectangle visibleRect = null; if (this.tree != null) { visibleRect = this.tree.getVisibleRect(); }/*from www. j av a2 s . co m*/ this.removeAll(); this.actionsMenu = this.createPopupMenu(state); DefaultMutableTreeNode root = new DefaultMutableTreeNode("WORKFLOWS"); for (ModelGraph graph : state.getGraphs()) { root.add(this.buildTree(graph, state)); } tree = new JTree(root); tree.setShowsRootHandles(true); tree.setRootVisible(false); tree.add(this.actionsMenu); if (state.getSelected() != null) { // System.out.println("SELECTED: " + state.getSelected()); TreePath treePath = this.getTreePath(root, state.getSelected()); if (state.getCurrentMetGroup() != null) { treePath = this.getTreePath(treePath, state); } else if (Boolean.parseBoolean(state.getFirstPropertyValue(EXPAND_STATIC_METADATA))) { DefaultMutableTreeNode baseNode = (DefaultMutableTreeNode) treePath.getLastPathComponent(); for (int i = 0; i < baseNode.getChildCount(); i++) { if (((DefaultMutableTreeNode) baseNode.getChildAt(i)).getUserObject() .equals("static-metadata")) { treePath = new TreePath(((DefaultMutableTreeNode) baseNode.getChildAt(i)).getPath()); break; } } } else if (Boolean.parseBoolean(state.getFirstPropertyValue(EXPAND_PRECONDITIONS))) { if (treePath == null) { treePath = this.getTreePath(root, state.getSelected().getPreConditions()); } DefaultMutableTreeNode baseNode = (DefaultMutableTreeNode) treePath.getLastPathComponent(); for (int i = 0; i < baseNode.getChildCount(); i++) { if (((DefaultMutableTreeNode) baseNode.getChildAt(i)).getUserObject() .equals("pre-conditions")) { treePath = new TreePath(((DefaultMutableTreeNode) baseNode.getChildAt(i)).getPath()); break; } } } else if (Boolean.parseBoolean(state.getFirstPropertyValue(EXPAND_POSTCONDITIONS))) { if (treePath == null) { treePath = this.getTreePath(root, state.getSelected().getPostConditions()); } DefaultMutableTreeNode baseNode = (DefaultMutableTreeNode) treePath.getLastPathComponent(); for (int i = 0; i < baseNode.getChildCount(); i++) { if (((DefaultMutableTreeNode) baseNode.getChildAt(i)).getUserObject() .equals("post-conditions")) { treePath = new TreePath(((DefaultMutableTreeNode) baseNode.getChildAt(i)).getPath()); break; } } } this.tree.expandPath(treePath); this.tree.setSelectionPath(treePath); } tree.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { if (e.getPath().getLastPathComponent() instanceof DefaultMutableTreeNode) { DefaultTreeView.this.resetProperties(state); DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.getPath().getLastPathComponent(); if (node.getUserObject() instanceof ModelGraph) { state.setSelected((ModelGraph) node.getUserObject()); state.setCurrentMetGroup(null); DefaultTreeView.this.notifyListeners(); } else if (node.getUserObject().equals("static-metadata") || node.getUserObject().equals("pre-conditions") || node.getUserObject().equals("post-conditions")) { state.setSelected((ModelGraph) ((DefaultMutableTreeNode) node.getParent()).getUserObject()); state.setCurrentMetGroup(null); state.setProperty(EXPAND_STATIC_METADATA, Boolean.toString(node.getUserObject().equals("static-metadata"))); state.setProperty(EXPAND_PRECONDITIONS, Boolean.toString(node.getUserObject().equals("pre-conditions"))); state.setProperty(EXPAND_POSTCONDITIONS, Boolean.toString(node.getUserObject().equals("post-conditions"))); DefaultTreeView.this.notifyListeners(); } else if (node.getUserObject() instanceof ConcurrentHashMap) { DefaultMutableTreeNode metNode = null; String group = null; Object[] path = e.getPath().getPath(); for (int i = path.length - 1; i >= 0; i--) { if (((DefaultMutableTreeNode) path[i]).getUserObject() instanceof ModelGraph) { metNode = (DefaultMutableTreeNode) path[i]; break; } else if (((DefaultMutableTreeNode) path[i]) .getUserObject() instanceof ConcurrentHashMap) { if (group == null) { group = (String) ((ConcurrentHashMap<String, String>) ((DefaultMutableTreeNode) path[i]) .getUserObject()).keySet().iterator().next(); } else { group = (String) ((ConcurrentHashMap<String, String>) ((DefaultMutableTreeNode) path[i]) .getUserObject()).keySet().iterator().next() + "/" + group; } } } ModelGraph graph = (ModelGraph) metNode.getUserObject(); state.setSelected(graph); state.setCurrentMetGroup(group); DefaultTreeView.this.notifyListeners(); } else { state.setSelected(null); DefaultTreeView.this.notifyListeners(); } } } }); tree.setCellRenderer(new TreeCellRenderer() { public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; if (node.getUserObject() instanceof String) { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JLabel label = new JLabel((String) node.getUserObject()); label.setForeground(Color.blue); panel.add(label, BorderLayout.CENTER); panel.setBackground(selected ? Color.lightGray : Color.white); return panel; } else if (node.getUserObject() instanceof ModelGraph) { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JLabel iconLabel = new JLabel( ((ModelGraph) node.getUserObject()).getModel().getExecutionType() + ": "); iconLabel.setForeground(((ModelGraph) node.getUserObject()).getModel().getColor()); iconLabel.setBackground(Color.white); JLabel idLabel = new JLabel(((ModelGraph) node.getUserObject()).getModel().getModelName()); idLabel.setBackground(Color.white); panel.add(iconLabel, BorderLayout.WEST); panel.add(idLabel, BorderLayout.CENTER); panel.setBackground(selected ? Color.lightGray : Color.white); return panel; } else if (node.getUserObject() instanceof ConcurrentHashMap) { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); String group = (String) ((ConcurrentHashMap<String, String>) node.getUserObject()).keySet() .iterator().next(); JLabel nameLabel = new JLabel(group + " : "); nameLabel.setForeground(Color.blue); nameLabel.setBackground(Color.white); JLabel valueLabel = new JLabel( ((ConcurrentHashMap<String, String>) node.getUserObject()).get(group)); valueLabel.setForeground(Color.darkGray); valueLabel.setBackground(Color.white); panel.add(nameLabel, BorderLayout.WEST); panel.add(valueLabel, BorderLayout.EAST); panel.setBackground(selected ? Color.lightGray : Color.white); return panel; } else { return new JLabel(); } } }); tree.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON3 && DefaultTreeView.this.tree.getSelectionPath() != null) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) DefaultTreeView.this.tree .getSelectionPath().getLastPathComponent(); if (node.getUserObject() instanceof String && !(node.getUserObject().equals("pre-conditions") || node.getUserObject().equals("post-conditions"))) { return; } orderSubMenu.setEnabled(node.getUserObject() instanceof ModelGraph && !((ModelGraph) node.getUserObject()).isCondition() && ((ModelGraph) node.getUserObject()).getParent() != null); DefaultTreeView.this.actionsMenu.show(DefaultTreeView.this.tree, e.getX(), e.getY()); } } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } }); this.scrollPane = new JScrollPane(tree, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); this.add(this.scrollPane, BorderLayout.CENTER); if (visibleRect != null) { this.tree.scrollRectToVisible(visibleRect); } this.revalidate(); }
From source file:org.apache.oodt.cas.workflow.gui.perspective.view.impl.GlobalConfigView.java
@Override public void refreshView(ViewState state) { Rectangle visibleRect = null; if (this.tree != null) { visibleRect = this.tree.getVisibleRect(); }/*from w w w. ja v a2 s . com*/ DefaultMutableTreeNode root = new DefaultMutableTreeNode("GlobalConfig"); if (state != null && state.getGlobalConfigGroups() != null) { if (globalConfig != null && globalConfig.keySet().equals(state.getGlobalConfigGroups().keySet()) && globalConfig.values().equals(state.getGlobalConfigGroups().values())) { return; } this.removeAll(); for (ConfigGroup group : (globalConfig = state.getGlobalConfigGroups()).values()) { HashSet<String> keys = new HashSet<String>(); DefaultMutableTreeNode groupNode = new DefaultMutableTreeNode(new Group(group.getName())); root.add(groupNode); for (String key : group.getMetadata().getAllKeys()) { keys.add(key); DefaultMutableTreeNode keyNode = new DefaultMutableTreeNode(new Key(key)); groupNode.add(keyNode); DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode( new Value(StringUtils.join(group.getMetadata().getAllMetadata(key), ","))); keyNode.add(valueNode); } if (group.getExtends() != null) { List<String> extendsGroups = new Vector<String>(group.getExtends()); Collections.reverse(extendsGroups); for (String extendsGroup : extendsGroups) { List<String> groupKeys = state.getGlobalConfigGroups().get(extendsGroup).getMetadata() .getAllKeys(); groupKeys.removeAll(keys); if (groupKeys.size() > 0) { for (String key : groupKeys) { if (!keys.contains(key)) { keys.add(key); DefaultMutableTreeNode keyNode = new DefaultMutableTreeNode( new ExtendsKey(extendsGroup, key)); groupNode.add(keyNode); DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode( new ExtendsValue(StringUtils.join(state.getGlobalConfigGroups() .get(extendsGroup).getMetadata().getAllMetadata(key), ","))); keyNode.add(valueNode); } } } } } } tree = new JTree(root); tree.setShowsRootHandles(true); tree.setRootVisible(false); tree.setCellRenderer(new TreeCellRenderer() { public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; if (node.getUserObject() instanceof Key) { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JLabel label = new JLabel(node.getUserObject().toString()); label.setForeground(Color.darkGray); panel.add(label, BorderLayout.CENTER); panel.setBackground(selected ? Color.lightGray : Color.white); return panel; } else if (node.getUserObject() instanceof ExtendsKey) { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); ExtendsKey key = (ExtendsKey) node.getUserObject(); JLabel groupLabel = new JLabel("(" + key.getGroup() + ") "); groupLabel.setForeground(Color.black); JLabel keyLabel = new JLabel(key.getValue()); keyLabel.setForeground(Color.gray); panel.add(groupLabel, BorderLayout.WEST); panel.add(keyLabel, BorderLayout.CENTER); panel.setBackground(selected ? Color.lightGray : Color.white); return panel; } else if (node.getUserObject() instanceof Group) { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JLabel label = new JLabel(node.getUserObject().toString()); label.setForeground(Color.black); label.setBackground(Color.white); panel.add(label, BorderLayout.CENTER); panel.setBackground(selected ? Color.lightGray : Color.white); return panel; } else if (node.getUserObject() instanceof Value) { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.setBorder(new EtchedBorder(1)); JLabel label = new JLabel(node.getUserObject().toString()); label.setForeground(Color.black); panel.add(label, BorderLayout.CENTER); panel.setBackground(selected ? Color.lightGray : Color.white); return panel; } else if (node.getUserObject() instanceof ExtendsValue) { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.setBorder(new EtchedBorder(1)); JLabel label = new JLabel(node.getUserObject().toString()); label.setForeground(Color.gray); panel.add(label, BorderLayout.CENTER); panel.setBackground(selected ? Color.lightGray : Color.white); return panel; } else { return new JLabel(); } } }); } this.setBorder(new EtchedBorder()); JLabel panelName = new JLabel("Global-Config Groups"); panelName.setBorder(new EtchedBorder()); this.add(panelName, BorderLayout.NORTH); JScrollPane scrollPane = new JScrollPane(tree, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); tabbedPane = new JTabbedPane(); tabbedPane.addTab("Tree", scrollPane); tabbedPane.addTab("Table", new JPanel()); this.add(tabbedPane, BorderLayout.CENTER); if (visibleRect != null) { this.tree.scrollRectToVisible(visibleRect); } this.revalidate(); }
From source file:org.piraso.ui.base.RequestTreeTopComponent.java
/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor./* w w w . java 2 s . co m*/ */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTree = new javax.swing.JTree(); toolbar = new javax.swing.JToolBar(); btnCollapse = new javax.swing.JButton(); btnColorLatest = new javax.swing.JToggleButton(); jSeparator1 = new javax.swing.JToolBar.Separator(); btnTarget = new javax.swing.JButton(); setLayout(new java.awt.BorderLayout()); jTree.setModel(model); jTree.setCellRenderer(new TreeCellRenderer()); jTree.setRootVisible(false); jTree.setShowsRootHandles(true); jScrollPane1.setViewportView(jTree); add(jScrollPane1, java.awt.BorderLayout.CENTER); toolbar.setBackground(new java.awt.Color(226, 226, 226)); toolbar.setFloatable(false); toolbar.setRollover(true); toolbar.setOpaque(false); btnCollapse.setIcon(new javax.swing.ImageIcon( getClass().getResource("/org/piraso/ui/base/icons/gh-icon-collapse.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(btnCollapse, org.openide.util.NbBundle .getMessage(RequestTreeTopComponent.class, "RequestTreeTopComponent.btnCollapse.text")); // NOI18N btnCollapse.setToolTipText(org.openide.util.NbBundle.getMessage(RequestTreeTopComponent.class, "RequestTreeTopComponent.btnCollapse.toolTipText")); // NOI18N btnCollapse.setBorder(javax.swing.BorderFactory.createEmptyBorder(7, 7, 7, 7)); btnCollapse.setFocusable(false); btnCollapse.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnCollapse.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); btnCollapse.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnCollapseActionPerformed(evt); } }); toolbar.add(btnCollapse); btnColorLatest .setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/piraso/ui/base/icons/time.png"))); // NOI18N btnColorLatest.setSelected(true); org.openide.awt.Mnemonics.setLocalizedText(btnColorLatest, org.openide.util.NbBundle .getMessage(RequestTreeTopComponent.class, "RequestTreeTopComponent.btnColorLatest.text")); // NOI18N btnColorLatest.setToolTipText(org.openide.util.NbBundle.getMessage(RequestTreeTopComponent.class, "RequestTreeTopComponent.btnColorLatest.toolTipText")); // NOI18N btnColorLatest.setFocusable(false); btnColorLatest.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnColorLatest.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); btnColorLatest.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnColorLatestActionPerformed(evt); } }); toolbar.add(btnColorLatest); toolbar.add(jSeparator1); btnTarget.setIcon( new javax.swing.ImageIcon(getClass().getResource("/org/piraso/ui/base/icons/target_arrow.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(btnTarget, org.openide.util.NbBundle .getMessage(RequestTreeTopComponent.class, "RequestTreeTopComponent.btnTarget.text")); // NOI18N btnTarget.setToolTipText(org.openide.util.NbBundle.getMessage(RequestTreeTopComponent.class, "RequestTreeTopComponent.btnTarget.toolTipText")); // NOI18N btnTarget.setBorder(javax.swing.BorderFactory.createEmptyBorder(7, 7, 7, 7)); btnTarget.setFocusable(false); btnTarget.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnTarget.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); btnTarget.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnTargetActionPerformed(evt); } }); toolbar.add(Box.createHorizontalGlue()); toolbar.add(btnTarget); add(toolbar, java.awt.BorderLayout.NORTH); }