private MyCheckboxTreeCellRenderer( final SelectionManager selectionManager, Map<VirtualFile, String> modulesSet, final Project project, final JTree tree, final Collection<VirtualFile> roots) { super(new BorderLayout()); mySelectionManager = selectionManager; myModulesSet = modulesSet; myRoots = roots; setBackground(tree.getBackground()); myColoredRenderer = new ColoredTreeCellRenderer() { @Override public void customizeCellRenderer( JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { append(value.toString()); } }; myFictive = new JBList(); myFictive.setBackground(tree.getBackground()); myFictive.setSelectionBackground(UIUtil.getListSelectionBackground()); myFictive.setSelectionForeground(UIUtil.getListSelectionForeground()); myTextRenderer = new WithModulesListCellRenderer(project, myModulesSet) { @Override protected void putParentPath(Object value, FilePath path, FilePath self) { if (myRoots.contains(self.getVirtualFile())) { super.putParentPath(value, path, self); } } }; myTextRenderer.setBackground(tree.getBackground()); myCheckbox = new JCheckBox(); myCheckbox.setBackground(tree.getBackground()); myEmpty = new JLabel(""); add(myCheckbox, BorderLayout.WEST); add(myTextRenderer, BorderLayout.CENTER); myCheckbox.setVisible(true); }
public MetalworksInBox() { super("In Box", true, true, true, true); DefaultMutableTreeNode unread; DefaultMutableTreeNode personal; DefaultMutableTreeNode business; DefaultMutableTreeNode spam; DefaultMutableTreeNode top = new DefaultMutableTreeNode("Mail Boxes"); top.add(unread = new DefaultMutableTreeNode("Unread Mail")); top.add(personal = new DefaultMutableTreeNode("Personal")); top.add(business = new DefaultMutableTreeNode("Business")); top.add(spam = new DefaultMutableTreeNode("Spam")); unread.add(new DefaultMutableTreeNode("Buy Stuff Now")); unread.add(new DefaultMutableTreeNode("Read Me Now")); unread.add(new DefaultMutableTreeNode("Hot Offer")); unread.add(new DefaultMutableTreeNode("Re: Re: Thank You")); unread.add(new DefaultMutableTreeNode("Fwd: Good Joke")); personal.add(new DefaultMutableTreeNode("Hi")); personal.add(new DefaultMutableTreeNode("Good to hear from you")); personal.add(new DefaultMutableTreeNode("Re: Thank You")); business.add(new DefaultMutableTreeNode("Thanks for your order")); business.add(new DefaultMutableTreeNode("Price Quote")); business.add(new DefaultMutableTreeNode("Here is the invoice")); business.add(new DefaultMutableTreeNode("Project Metal: delivered on time")); business.add(new DefaultMutableTreeNode("Your salary raise approved")); spam.add(new DefaultMutableTreeNode("Buy Now")); spam.add(new DefaultMutableTreeNode("Make $$$ Now")); spam.add(new DefaultMutableTreeNode("HOT HOT HOT")); spam.add(new DefaultMutableTreeNode("Buy Now")); spam.add(new DefaultMutableTreeNode("Don't Miss This")); spam.add(new DefaultMutableTreeNode("Opportunity in Precious Metals")); spam.add(new DefaultMutableTreeNode("Buy Now")); spam.add(new DefaultMutableTreeNode("Last Chance")); spam.add(new DefaultMutableTreeNode("Buy Now")); spam.add(new DefaultMutableTreeNode("Make $$$ Now")); spam.add(new DefaultMutableTreeNode("To Hot To Handle")); spam.add(new DefaultMutableTreeNode("I'm waiting for your call")); JTree tree = new JTree(top); JScrollPane treeScroller = new JScrollPane(tree); treeScroller.setBackground(tree.getBackground()); setContentPane(treeScroller); setSize(325, 200); setLocation(75, 75); }
public static Image createImage(final JTree tree) { final TreeSelectionModel model = tree.getSelectionModel(); final TreePath[] paths = model.getSelectionPaths(); int count = 0; final List<ChangesBrowserNode> nodes = new ArrayList<ChangesBrowserNode>(); for (final TreePath path : paths) { final ChangesBrowserNode node = (ChangesBrowserNode) path.getLastPathComponent(); if (!node.isLeaf()) { nodes.add(node); count += node.getCount(); } } for (TreePath path : paths) { final ChangesBrowserNode element = (ChangesBrowserNode) path.getLastPathComponent(); boolean child = false; for (final ChangesBrowserNode node : nodes) { if (node.isNodeChild(element)) { child = true; break; } } if (!child) { if (element.isLeaf()) count++; } else if (!element.isLeaf()) { count -= element.getCount(); } } final JLabel label = new JLabel(VcsBundle.message("changes.view.dnd.label", count)); label.setOpaque(true); label.setForeground(tree.getForeground()); label.setBackground(tree.getBackground()); label.setFont(tree.getFont()); label.setSize(label.getPreferredSize()); final BufferedImage image = new BufferedImage(label.getWidth(), label.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = (Graphics2D) image.getGraphics(); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.7f)); label.paint(g2); g2.dispose(); return image; }