summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLillian Angel <langel@redhat.com>2005-07-12 15:23:10 +0000
committerLillian Angel <langel@redhat.com>2005-07-12 15:23:10 +0000
commit118439a5407f3c703d08601fd2ad9b6ec079aa00 (patch)
tree0ecc9eba3013a95f7b52cfe2ea091aea16086896
parent319878ce22203e747176e3174e9bd373b8b0a1ad (diff)
downloadclasspath-118439a5407f3c703d08601fd2ad9b6ec079aa00.tar.gz
2005-07-11 Lillian Angel <langel@redhat.com>
* examples/gnu/classpath/examples/swing/Demo.java (mkTreeWorld): Implemented (mkTabbedPane): added in tab for TreeWorld * javax/swing/plaf/basic/BasicLookAndFeel.java Changed default color of text non selection background. * javax/swing/plaf/basic/BasicTreeUI.java Removed irrelevant comment * javax/swing/tree/DefaultTreeCellRenderer.java (getTreeCellRendererComponent): changed to use background's non selection default color instead
-rw-r--r--ChangeLog12
-rw-r--r--examples/gnu/classpath/examples/swing/Demo.java105
-rw-r--r--javax/swing/plaf/basic/BasicLookAndFeel.java1
-rw-r--r--javax/swing/plaf/basic/BasicTreeUI.java1
-rw-r--r--javax/swing/tree/DefaultTreeCellRenderer.java4
5 files changed, 120 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index eb659fb32..32c81fbcd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2005-07-12 Lillian Angel <langel@redhat.com>
+ * examples/gnu/classpath/examples/swing/Demo.java
+ (mkTreeWorld): Implemented
+ (mkTabbedPane): added in tab for TreeWorld
+ * javax/swing/plaf/basic/BasicLookAndFeel.java
+ Changed default color of text non selection background.
+ * javax/swing/plaf/basic/BasicTreeUI.java
+ Removed irrelevant comment
+ * javax/swing/tree/DefaultTreeCellRenderer.java
+ (getTreeCellRendererComponent): changed to use background's non
+ selection default color instead
+
2005-07-12 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
diff --git a/examples/gnu/classpath/examples/swing/Demo.java b/examples/gnu/classpath/examples/swing/Demo.java
index 5abee7dcb..5c8498dd5 100644
--- a/examples/gnu/classpath/examples/swing/Demo.java
+++ b/examples/gnu/classpath/examples/swing/Demo.java
@@ -429,6 +429,110 @@ public class Demo
return jsp;
}
+ private static JPanel mkTreeWorld()
+ {
+ // non-leafs
+ DefaultMutableTreeNode root = new DefaultMutableTreeNode("Exotic Subsistence");
+ DefaultMutableTreeNode fruit = new DefaultMutableTreeNode("Interesting Fruit");
+ DefaultMutableTreeNode veg = new DefaultMutableTreeNode("Extraordinary Vegetables");
+ DefaultMutableTreeNode liq = new DefaultMutableTreeNode("Peculiar Liquids");
+
+ // leafs
+ DefaultMutableTreeNode f1 = new DefaultMutableTreeNode("Abiu");
+ DefaultMutableTreeNode f2 = new DefaultMutableTreeNode("Bamboo Shoots");
+ DefaultMutableTreeNode f3 = new DefaultMutableTreeNode("Breadfruit");
+ DefaultMutableTreeNode f4 = new DefaultMutableTreeNode("Canistel");
+ DefaultMutableTreeNode f5 = new DefaultMutableTreeNode("Duku");
+ DefaultMutableTreeNode f6 = new DefaultMutableTreeNode("Guava");
+ DefaultMutableTreeNode f7 = new DefaultMutableTreeNode("Jakfruit");
+ DefaultMutableTreeNode f8 = new DefaultMutableTreeNode("Quaribea");
+
+ DefaultMutableTreeNode v1 = new DefaultMutableTreeNode("Amaranth");
+ DefaultMutableTreeNode v2 = new DefaultMutableTreeNode("Kiwano");
+ DefaultMutableTreeNode v3 = new DefaultMutableTreeNode("Leeks");
+ DefaultMutableTreeNode v4 = new DefaultMutableTreeNode("Luffa");
+ DefaultMutableTreeNode v5 = new DefaultMutableTreeNode("Chayote");
+ DefaultMutableTreeNode v6 = new DefaultMutableTreeNode("Jicama");
+ DefaultMutableTreeNode v7 = new DefaultMutableTreeNode("Okra");
+
+ DefaultMutableTreeNode l1 = new DefaultMutableTreeNode("Alcoholic");
+ DefaultMutableTreeNode l11 = new DefaultMutableTreeNode("Caipirinha");
+ DefaultMutableTreeNode l21 = new DefaultMutableTreeNode("Mojito");
+ DefaultMutableTreeNode l31 = new DefaultMutableTreeNode("Margarita");
+ DefaultMutableTreeNode l41 = new DefaultMutableTreeNode("Martini");
+ DefaultMutableTreeNode l5 = new DefaultMutableTreeNode("Non Alcoholic");
+ DefaultMutableTreeNode l55 = new DefaultMutableTreeNode("Babaji");
+ DefaultMutableTreeNode l65 = new DefaultMutableTreeNode("Chikita");
+
+ root.add(fruit);
+ root.add(veg);
+ root.add(liq);
+ fruit.add(f1);
+ fruit.add(f2);
+ fruit.add(f3);
+ fruit.add(f4);
+ fruit.add(f5);
+ fruit.add(f6);
+ fruit.add(f7);
+ fruit.add(f8);
+ veg.add(v1);
+ veg.add(v2);
+ veg.add(v3);
+ veg.add(v4);
+ veg.add(v5);
+ veg.add(v6);
+ veg.add(v7);
+ liq.add(l1);
+ l1.add(l11);
+ l1.add(l21);
+ l1.add(l31);
+ l1.add(l41);
+ liq.add(l5);
+ l5.add(l55);
+ l5.add(l65);
+
+ final JTree tree = new JTree(root);
+ tree.setRootVisible(true);
+ tree.setLargeModel(true);
+ DefaultTreeSelectionModel dtsm = new DefaultTreeSelectionModel();
+ dtsm.setSelectionMode(DefaultTreeSelectionModel.SINGLE_TREE_SELECTION);
+ tree.setSelectionModel(dtsm);
+
+ // buttons to add and delete
+ JButton add = mkButton("add element");
+ add.addActionListener(new ActionListener()
+ {
+ int i = 0;
+ public void actionPerformed(ActionEvent e)
+ {
+ for (int i = 0; i < tree.getRowCount(); i++)
+ {
+ if (tree.isRowSelected(i))
+ {
+ TreePath p = tree.getPathForRow(i);
+ DefaultMutableTreeNode n = (DefaultMutableTreeNode) p.
+ getLastPathComponent();
+ n.add(new DefaultMutableTreeNode("New Element"));
+ tree.repaint();
+ break;
+ }
+ }
+ }
+ });
+
+
+ JPanel p1 = new JPanel();
+ p1.setLayout(new BorderLayout());
+
+ JPanel p2 = new JPanel();
+ p2.add(add);
+
+ p1.add(p2, BorderLayout.NORTH);
+ p1.add(mkScrollPane(tree), BorderLayout.CENTER);
+
+ return p1;
+ }
+
public static JPanel mkListWorld()
{
@@ -545,6 +649,7 @@ public class Demo
tabs.add("Button world!", mkButtonWorld());
tabs.add("List world!", mkListWorld());
tabs.add("Desktop world!", mkDesktopWorld());
+ tabs.add("Tree world!", mkTreeWorld());
return tabs;
}
diff --git a/javax/swing/plaf/basic/BasicLookAndFeel.java b/javax/swing/plaf/basic/BasicLookAndFeel.java
index 74db84a74..f84d04692 100644
--- a/javax/swing/plaf/basic/BasicLookAndFeel.java
+++ b/javax/swing/plaf/basic/BasicLookAndFeel.java
@@ -1035,6 +1035,7 @@ public abstract class BasicLookAndFeel extends LookAndFeel
"Tree.rowHeight", new Integer(19),
"Tree.scrollsOnExpand", Boolean.TRUE,
"Tree.selectionBackground", new ColorUIResource(Color.black),
+ "Tree.nonSelectionBackground", new ColorUIResource(light),
"Tree.selectionBorderColor", new ColorUIResource(Color.black),
"Tree.selectionForeground", new ColorUIResource(Color.white),
"Tree.textBackground", new ColorUIResource(Color.white),
diff --git a/javax/swing/plaf/basic/BasicTreeUI.java b/javax/swing/plaf/basic/BasicTreeUI.java
index 11e120cae..1ff93011b 100644
--- a/javax/swing/plaf/basic/BasicTreeUI.java
+++ b/javax/swing/plaf/basic/BasicTreeUI.java
@@ -2489,7 +2489,6 @@ public class BasicTreeUI
Font f = tree.getFont();
FontMetrics fm = tree.getToolkit().getFontMetrics(tree.getFont());
- // add 22 to width for icon, FIXME later
return new Rectangle(x, y, SwingUtilities.computeStringWidth(fm, s)
+ 22, fm.getHeight());
}
diff --git a/javax/swing/tree/DefaultTreeCellRenderer.java b/javax/swing/tree/DefaultTreeCellRenderer.java
index 30a30bf99..38101034e 100644
--- a/javax/swing/tree/DefaultTreeCellRenderer.java
+++ b/javax/swing/tree/DefaultTreeCellRenderer.java
@@ -136,7 +136,7 @@ public class DefaultTreeCellRenderer
setTextNonSelectionColor(defaults.getColor("Tree.textForeground"));
setTextSelectionColor(defaults.getColor("Tree.selectionForeground"));
setBackgroundNonSelectionColor(defaults
- .getColor("Tree.textBackground"));
+ .getColor("Tree.nonSelectionBackground"));
setBackgroundSelectionColor(defaults
.getColor("Tree.selectionBackground"));
setBorderSelectionColor(defaults
@@ -401,7 +401,7 @@ public class DefaultTreeCellRenderer
}
else
{
- super.setBackground((tree.getParent()).getBackground());
+ super.setBackground(getBackgroundNonSelectionColor());
setForeground(getTextNonSelectionColor());
}