From 540d666a13ff655a9274b528ed6d00168f03f3cc Mon Sep 17 00:00:00 2001 From: "yaoh.wu" Date: Sat, 19 May 2018 18:26:26 +0800 Subject: [PATCH] todo update tree --- .../remote/ui/tree/FileAuthorityTree.java | 1 - .../tree/FileAuthorityTreeCellRenderer.java | 83 ------------------- .../ui/tree/FileAuthorityTreeLabel.java | 69 --------------- ...ileAuthorityTreeNodeSelectionListener.java | 27 ------ 4 files changed, 180 deletions(-) delete mode 100644 designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeCellRenderer.java delete mode 100644 designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeLabel.java delete mode 100644 designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeNodeSelectionListener.java diff --git a/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTree.java b/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTree.java index 5d3203eeb..a1503de54 100644 --- a/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTree.java +++ b/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTree.java @@ -8,7 +8,6 @@ public class FileAuthorityTree extends TemplateFileTree { @Override public boolean isCheckBoxVisible(TreePath path) { -// return super.isCheckBoxVisible(path); return true; } diff --git a/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeCellRenderer.java b/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeCellRenderer.java deleted file mode 100644 index 84ed6c723..000000000 --- a/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeCellRenderer.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.fr.design.remote.ui.tree; - - -import javax.swing.JCheckBox; -import javax.swing.JPanel; -import javax.swing.JTree; -import javax.swing.UIManager; -import javax.swing.plaf.ColorUIResource; -import javax.swing.tree.TreeCellRenderer; -import java.awt.Color; -import java.awt.Component; -import java.awt.Dimension; - -public class FileAuthorityTreeCellRenderer extends JPanel implements TreeCellRenderer { - - - protected JCheckBox check; - protected FileAuthorityTreeLabel label; - - public FileAuthorityTreeCellRenderer() { - setLayout(null); - add(check = new JCheckBox()); - add(label = new FileAuthorityTreeLabel()); - check.setBackground(UIManager.getColor("Tree.textBackground")); - label.setForeground(UIManager.getColor("Tree.textForeground")); - } - - /** - * 返回的是一个JPanel对象,该对象中包含一个JCheckBox对象 - * 和一个JLabel对象。并且根据每个结点是否被选中来决定JCheckBox - * 是否被选中。 - */ - @Override - public Component getTreeCellRendererComponent(JTree tree, Object value, - boolean selected, boolean expanded, boolean leaf, int row, - boolean hasFocus) { - String stringValue = tree.convertValueToText(value, selected, expanded, leaf, row, hasFocus); - setEnabled(tree.isEnabled()); - check.setSelected(((FileAuthorityTreeNode) value).isSelected()); - label.setFont(tree.getFont()); - label.setText(stringValue); - label.setSelected(selected); - label.setFocus(hasFocus); - if (leaf) - label.setIcon(UIManager.getIcon("Tree.leafIcon")); - else if (expanded) - label.setIcon(UIManager.getIcon("Tree.openIcon")); - else - label.setIcon(UIManager.getIcon("Tree.closedIcon")); - - return this; - } - - @Override - public Dimension getPreferredSize() { - Dimension dCheck = check.getPreferredSize(); - Dimension dLabel = label.getPreferredSize(); - return new Dimension(dCheck.width + dLabel.width, dCheck.height < dLabel.height ? dLabel.height : dCheck.height); - } - - @Override - public void doLayout() { - Dimension dCheck = check.getPreferredSize(); - Dimension dLabel = label.getPreferredSize(); - int yCheck = 0; - int yLabel = 0; - if (dCheck.height < dLabel.height) - yCheck = (dLabel.height - dCheck.height) / 2; - else - yLabel = (dCheck.height - dLabel.height) / 2; - check.setLocation(0, yCheck); - check.setBounds(0, yCheck, dCheck.width, dCheck.height); - label.setLocation(dCheck.width, yLabel); - label.setBounds(dCheck.width, yLabel, dLabel.width, dLabel.height); - } - - @Override - public void setBackground(Color color) { - if (color instanceof ColorUIResource) - color = null; - super.setBackground(color); - } -} diff --git a/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeLabel.java b/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeLabel.java deleted file mode 100644 index de4e8cf2d..000000000 --- a/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeLabel.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.fr.design.remote.ui.tree; - - -import javax.swing.Icon; -import javax.swing.JLabel; -import javax.swing.UIManager; -import javax.swing.plaf.ColorUIResource; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Graphics; - -public class FileAuthorityTreeLabel extends JLabel { - private boolean isSelected; - private boolean hasFocus; - - public FileAuthorityTreeLabel() { - } - - @Override - public void setBackground(Color color) { - if (color instanceof ColorUIResource) { - color = null; - } - super.setBackground(color); - } - - @Override - public void paint(Graphics g) { - String str; - if ((str = getText()) != null) { - if (0 < str.length()) { - if (isSelected) { - g.setColor(UIManager.getColor("Tree.selectionBackground")); - } else { - g.setColor(UIManager.getColor("Tree.textBackground")); - } - Dimension d = getPreferredSize(); - int imageOffset = 0; - Icon currentIcon = getIcon(); - if (currentIcon != null) { - imageOffset = currentIcon.getIconWidth() + Math.max(0, getIconTextGap() - 1); - } - g.fillRect(imageOffset, 0, d.width - 1 - imageOffset, d.height); - if (hasFocus) { - g.setColor(UIManager.getColor("Tree.selectionBorderColor")); - g.drawRect(imageOffset, 0, d.width - 1 - imageOffset, d.height - 1); - } - } - } - super.paint(g); - } - - @Override - public Dimension getPreferredSize() { - Dimension retDimension = super.getPreferredSize(); - if (retDimension != null) { - retDimension = new Dimension(retDimension.width + 3, retDimension.height); - } - return retDimension; - } - - public void setSelected(boolean isSelected) { - this.isSelected = isSelected; - } - - public void setFocus(boolean hasFocus) { - this.hasFocus = hasFocus; - } -} diff --git a/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeNodeSelectionListener.java b/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeNodeSelectionListener.java deleted file mode 100644 index e3b9a89f4..000000000 --- a/designer-base/src/com/fr/design/remote/ui/tree/FileAuthorityTreeNodeSelectionListener.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.fr.design.remote.ui.tree; - - -import javax.swing.JTree; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreePath; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - -public class FileAuthorityTreeNodeSelectionListener extends MouseAdapter { - @Override - public void mouseClicked(MouseEvent event) { - JTree tree = (JTree) event.getSource(); - int x = event.getX(); - int y = event.getY(); - int row = tree.getRowForLocation(x, y); - TreePath path = tree.getPathForRow(row); - if (path != null) { - FileAuthorityTreeNode node = (FileAuthorityTreeNode) path.getLastPathComponent(); - if (node != null) { - boolean isSelected = !node.isSelected(); - node.setSelected(isSelected); - ((DefaultTreeModel) tree.getModel()).nodeStructureChanged(node); - } - } - } -}