summaryrefslogtreecommitdiff
path: root/libjava/javax/swing/plaf/basic
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-09 04:26:17 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-09 04:26:17 +0000
commit71946bc3b406beb3d1fb9b447204e4236d645c43 (patch)
treecdf9958b411887bead2263ea8ef0bdfc8eae6319 /libjava/javax/swing/plaf/basic
parent0fc014c9ce8232f14be66144bf5a4c08a3e5ffe7 (diff)
downloadgcc-71946bc3b406beb3d1fb9b447204e4236d645c43.tar.gz
AWT/Swing merge from GNU Classpath.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56147 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/javax/swing/plaf/basic')
-rw-r--r--libjava/javax/swing/plaf/basic/BasicBorders.java42
-rw-r--r--libjava/javax/swing/plaf/basic/BasicButtonUI.java177
-rw-r--r--libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java88
-rw-r--r--libjava/javax/swing/plaf/basic/BasicDefaults.java82
-rw-r--r--libjava/javax/swing/plaf/basic/BasicGraphicsUtils.java77
-rw-r--r--libjava/javax/swing/plaf/basic/BasicIconFactory.java45
-rw-r--r--libjava/javax/swing/plaf/basic/BasicLabelUI.java158
-rw-r--r--libjava/javax/swing/plaf/basic/BasicListUI.java132
-rw-r--r--libjava/javax/swing/plaf/basic/BasicLookAndFeel.java927
-rw-r--r--libjava/javax/swing/plaf/basic/BasicOptionPaneUI.java103
-rw-r--r--libjava/javax/swing/plaf/basic/BasicPanelUI.java21
-rw-r--r--libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java127
-rw-r--r--libjava/javax/swing/plaf/basic/BasicScrollPaneUI.java66
-rw-r--r--libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.java64
-rw-r--r--libjava/javax/swing/plaf/basic/BasicTextUI.java126
-rw-r--r--libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java90
-rw-r--r--libjava/javax/swing/plaf/basic/BasicTreeUI.java7
-rw-r--r--libjava/javax/swing/plaf/basic/BasicViewportUI.java33
18 files changed, 2365 insertions, 0 deletions
diff --git a/libjava/javax/swing/plaf/basic/BasicBorders.java b/libjava/javax/swing/plaf/basic/BasicBorders.java
new file mode 100644
index 00000000000..80d66a72b80
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicBorders.java
@@ -0,0 +1,42 @@
+package javax.swing.plaf.basic;
+import java.awt.Color;
+/**
+ * STUBBED
+ */
+public class BasicBorders
+{
+ public static class ButtonBorder
+ {
+ } // class ButtonBorder
+ public static class FieldBorder
+ {
+ public FieldBorder(Color shadow, Color darkShadow,
+ Color highlight, Color lightHighlight)
+ {
+ }
+ } // class FieldBorder
+ public static class MarginBorder
+ {
+ } // class MarginBorder
+ public static class MenuBarBorder
+ {
+ public MenuBarBorder(Color shadow, Color highlight)
+ {
+ }
+ } // class MenuBarBorder
+ public static class RadioButtonBorder
+ {
+ } // class RadioButtonBorder
+ public static class RolloverButtonBorder
+ {
+ } // class RolloverButtonBorder
+ public static class SplitPaneBorder
+ {
+ public SplitPaneBorder(Color highlight, Color shadow)
+ {
+ }
+ } // class SplitPaneBorder
+ public static class ToggleButtonBorder
+ {
+ } // class ToggleButtonBorder
+} // class BasicBorders
diff --git a/libjava/javax/swing/plaf/basic/BasicButtonUI.java b/libjava/javax/swing/plaf/basic/BasicButtonUI.java
new file mode 100644
index 00000000000..88ac6f25ae2
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicButtonUI.java
@@ -0,0 +1,177 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.*;
+import javax.swing.plaf.*;
+import java.awt.*;
+
+
+public class BasicButtonUI extends ButtonUI
+{
+ int gap = 3;
+ // int y_text_space = 2, x_text_space + 5;
+
+ Color textColor, disabledTextColor;
+ Color pressedBackgroundColor;
+ Color normalBackgroundColor;
+
+
+ public static ComponentUI createUI(final JComponent c)
+ {
+ return new BasicButtonUI();
+ }
+
+
+ public void installUI(final JComponent c)
+ {
+ super.installUI(c);
+
+ textColor = new Color(0,0,0);
+ disabledTextColor = new Color(130, 130, 130);
+ pressedBackgroundColor = new Color(150,150,150);
+ pressedBackgroundColor = new Color(150,150,150);
+ normalBackgroundColor = new Color(192,192,192);
+ }
+
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ AbstractButton b = (AbstractButton)c;
+ Dimension d = BasicGraphicsUtils.getPreferredSize(b,
+ gap,
+ b.getText(),
+ b.getIcon(),
+ b.getVerticalAlignment(),
+ b.getHorizontalAlignment(),
+ b.getHorizontalTextPosition(),
+ b.getVerticalTextPosition());
+ // System.out.println("^^^^^^^^^^^^^^^^^^^^^^ BASIC-PREF="+d + ",T="+b.text);
+ return d;
+ }
+
+
+ public void paint(Graphics g, JComponent c)
+ {
+ AbstractButton b = (AbstractButton) c;
+
+ Rectangle tr = new Rectangle();
+ Rectangle ir = new Rectangle();
+ Rectangle vr = new Rectangle();
+
+ Font f = c.getFont();
+
+ g.setFont(f);
+
+ FontMetrics fm = SwingUtilities.getFontMetrics(f);
+
+ Insets i = c.getInsets();
+
+ vr.x = i.left;
+ vr.y = i.top;
+ vr.width = b.getWidth() - (i.right + vr.x);
+ vr.height = b.getHeight() - (i.bottom + vr.y);
+
+ //System.out.println(" VIEW-RECT-BUTTON="+vr+", insets="+i+", FONTM="+fm);
+
+ String text = SwingUtilities.layoutCompoundLabel(c,
+ fm,
+ b.getText(),
+ b.getIcon(),
+ b.getVerticalAlignment(),
+ b.getHorizontalAlignment(),
+ b.getVerticalTextPosition(),
+ b.getHorizontalTextPosition(),
+ vr,
+ ir,
+ tr,
+ gap);
+
+ if (b.getModel().isPressed() ||
+ b.getModel().isSelected())
+ {
+ //System.out.println("paint pressed");
+ paintButtonPressed(g, c);
+ }
+ else
+ {
+ //System.out.println("paint normal");
+ paintButtonNormal(g, c);
+ }
+
+ paintIcon(g, c, ir);
+ paintText(g, c, tr, b.getText());
+ paintFocus(g, c, vr, tr, ir);
+ }
+
+
+ protected void paintFocus(Graphics g,
+ JComponent c,
+ Rectangle vr,
+ Rectangle tr,
+ Rectangle ir)
+ {
+ }
+
+ protected void paintIcon(Graphics g,
+ JComponent c,
+ Rectangle iconRect)
+ {
+ AbstractButton b = (AbstractButton) c;
+ if (b.getIcon() != null)
+ {
+ int x = iconRect.x;
+ int y = iconRect.y;
+
+ System.out.println("WE HAVE AN ICON: " + b.getIcon());
+
+ b.getIcon().paintIcon(c, g, x, y);
+ }
+ else
+ {
+ //System.out.println("NO ICON FOR BUTTON:" + b.text);
+ }
+ }
+
+ protected void paintButtonPressed(Graphics g,
+ JComponent b)
+ {
+ Dimension size = b.getSize();
+
+ g.setColor(pressedBackgroundColor);
+ g.fillRect(1,1,size.width-2, size.height-2);
+
+ }
+
+ protected void paintButtonNormal(Graphics g,
+ JComponent b)
+ {
+ Dimension size = b.getSize();
+
+ g.setColor(normalBackgroundColor);
+ g.fillRect(1,1,size.width-2, size.height-2);
+
+ }
+
+ protected void paintText(Graphics g,
+ JComponent c,
+ Rectangle textRect,
+ String text)
+ {
+ Font f = c.getFont();
+
+ g.setFont(f);
+
+ FontMetrics fm = SwingUtilities.getFontMetrics(f);
+
+ g.setColor(c.isEnabled() ? textColor : disabledTextColor);
+
+ BasicGraphicsUtils.drawString(g,
+ text,
+ 0,
+ textRect.x,
+ textRect.y + fm.getAscent()/2);
+ }
+}
+
+
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java b/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java
new file mode 100644
index 00000000000..1a84b1faa2c
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java
@@ -0,0 +1,88 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.*;
+import javax.swing.plaf.*;
+import java.awt.*;
+
+
+public class BasicCheckBoxUI extends BasicRadioButtonUI
+{
+ public static ComponentUI createUI(final JComponent c) {
+ return new BasicCheckBoxUI();
+ }
+
+
+ public void installUI(final JComponent c) {
+ super.installUI(c);
+ }
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ AbstractButton b = (AbstractButton)c;
+ Dimension d = BasicGraphicsUtils.getPreferredSize(b,
+ gap,
+ b.getText(),
+ b.getIcon(),
+ b.getVerticalAlignment(),
+ b.getHorizontalAlignment(),
+ b.getHorizontalTextPosition(),
+ b.getVerticalTextPosition());
+
+ //System.out.println("^^^^^^^^^^^^^^^^^^^^^^ BASIC-PREF="+d + ",T="+b.text);
+ return d;
+ }
+
+ protected void paintFocus(Graphics g,
+ JComponent c,
+ Rectangle vr,
+ Rectangle tr,
+ Rectangle ir)
+ {
+ }
+
+ protected void paintIcon(Graphics g,
+ JComponent c,
+ Rectangle iconRect)
+ {
+ }
+
+ protected void paintButtonPressed(Graphics g,
+ JComponent b)
+ {
+ Dimension size = b.getSize();
+
+ g.setColor(pressedBackgroundColor);
+ g.fillRect(1,1,size.width-2, size.height-2);
+
+ }
+
+ protected void paintButtonNormal(Graphics g,
+ JComponent b)
+ {
+ Dimension size = b.getSize();
+
+ g.setColor(normalBackgroundColor);
+ g.fillRect(1,1,size.width-2, size.height-2);
+
+ }
+ protected void paintText(Graphics g,
+ JComponent c,
+ Rectangle textRect,
+ String text)
+ {
+ // AbstractButton b = (AbstractButton) c;
+
+ // System.out.println("drawing string: " + text + ", at:" + textRect);
+
+ g.setColor(textColor);
+ BasicGraphicsUtils.drawString(g,
+ text,
+ 0,
+ textRect.x,
+ textRect.y);
+ }
+}
+
+
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicDefaults.java b/libjava/javax/swing/plaf/basic/BasicDefaults.java
new file mode 100644
index 00000000000..b3dd865ce8b
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicDefaults.java
@@ -0,0 +1,82 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.*;
+import java.awt.*;
+import javax.swing.border.*;
+
+class BasicBorder extends MatteBorder
+{
+ static Color BtnPointClr = new Color( 180, 180, 180);
+
+ BasicBorder()
+ {
+ super(5,5,5,5, null);
+ }
+
+ public void paintBorder(Component c,
+ Graphics g,
+ int x,
+ int y,
+ int width,
+ int height)
+ {
+ // System.out.println("PAINT-------------------------------------------BORDER");
+
+ if (g != null)
+ {
+ g.setColor( BtnPointClr);
+ g.draw3DRect( 0, 0, width-1, height-1, true);
+ }
+ }
+ }
+
+class PanelBorder extends MatteBorder
+{
+ PanelBorder()
+ {
+ super(5,5,5,5, null);
+ }
+
+ public void paintBorder(Component c,
+ Graphics g,
+ int x,
+ int y,
+ int width,
+ int height)
+ {
+ // System.out.println("PAINT-------------------------------------------BORDER");
+ super.paintBorder(c, g, x, y, width, height);
+ }
+ }
+
+public class BasicDefaults extends UIDefaults
+{
+ public BasicDefaults()
+ {
+ // System.out.println("BasicDefaults !!!!!!!!!!!!!!!!!!!!!!!!!");
+ put("JButton", new BasicButtonUI());
+ put("JLabel", new BasicLabelUI());
+
+ put("JPanel", new BasicPanelUI());
+ put("JCheckBox", new BasicCheckBoxUI());
+ put("JRadioButton", new BasicRadioButtonUI());
+ put("JToggleButton", new BasicToggleButtonUI());
+ put("JOptionPane", new BasicOptionPaneUI());
+ put("JList", new BasicListUI());
+ put("JTree", new BasicTreeUI());
+ put("JTextComponent", new BasicTextUI());
+ put("JTabbedPane", new BasicTabbedPaneUI());
+ put("JScrollPane", new BasicScrollPaneUI());
+ put("JViewport", new BasicViewportUI());
+
+ put("JButton.border", new BasicBorder());
+ put("JPanel.border", new PanelBorder());
+
+ put("JToggleButton.border", new PanelBorder());
+ put("JCheckBox.border", new PanelBorder());
+ put("JRadioButton.border", new PanelBorder());
+ }
+
+}
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicGraphicsUtils.java b/libjava/javax/swing/plaf/basic/BasicGraphicsUtils.java
new file mode 100644
index 00000000000..10b7209f5dd
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicGraphicsUtils.java
@@ -0,0 +1,77 @@
+package javax.swing.plaf.basic;
+
+
+import java.awt.*;
+import javax.swing.*;
+
+
+public class BasicGraphicsUtils
+{
+ public static Dimension getPreferredSize(JComponent b,
+ int gap,
+ String text,
+ Icon icon,
+ int va,
+ int ha,
+ int htp,
+ int vtp)
+ {
+ JComponent c = b;
+ // this is a staight copy from BasicButtonUI.paint()
+ //
+ Rectangle tr = new Rectangle();
+ Rectangle ir = new Rectangle();
+ Rectangle vr = new Rectangle();
+
+ Font f = c.getFont();
+
+ FontMetrics fm = SwingUtilities.getFontMetrics(f);
+
+ Insets i = c.getInsets();
+
+ vr.x = i.left;
+ vr.y = i.top;
+ vr.width = b.getWidth() - (i.right + i.left);
+ vr.height = b.getHeight() - (i.bottom + i.top);
+
+ // System.out.println(" VIEW-RECT-BUTTON="+vr+", insets="+i);
+
+ String tt = SwingUtilities.layoutCompoundLabel(b,
+ fm,
+ text,
+ icon,
+ va,
+ ha,
+ vtp,
+ htp,
+ vr,
+ ir,
+ tr,
+ gap);
+
+ Rectangle r = ir.union(tr);
+
+ Insets insets = b.getInsets();
+ r.width += insets.left + insets.right;
+ r.height += insets.top + insets.bottom;
+
+ // System.out.println("COMPUTED SIZE FOR PREF_SIZE="+r);
+
+ return r.getSize();
+ }
+
+ public static void drawString(Graphics g,
+ String text,
+ int underlinedChar,
+ int x,
+ int y)
+ {
+ g.drawString(text, x, y);
+ }
+}
+
+
+
+
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicIconFactory.java b/libjava/javax/swing/plaf/basic/BasicIconFactory.java
new file mode 100644
index 00000000000..347a1cc8a8b
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicIconFactory.java
@@ -0,0 +1,45 @@
+package javax.swing.plaf.basic;
+
+import java.io.Serializable;
+import javax.swing.Icon;
+/**
+ * STUBBED
+ */
+public class BasicIconFactory implements Serializable
+{
+ public BasicIconFactory()
+ {
+ }
+ public static Icon getMenuItemCheckIcon()
+ {
+ return null;
+ }
+ public static Icon getMenuItemArrowIcon()
+ {
+ return null;
+ }
+ public static Icon getMenuArrowIcon()
+ {
+ return null;
+ }
+ public static Icon getCheckBoxIcon()
+ {
+ return null;
+ }
+ public static Icon getRadioButtonIcon()
+ {
+ return null;
+ }
+ public static Icon getCheckBoxMenuItemIcon()
+ {
+ return null;
+ }
+ public static Icon getRadioButtonMenuItemIcon()
+ {
+ return null;
+ }
+ public static Icon createEmptyFrameIcon()
+ {
+ return null;
+ }
+} // class BasicIconFactory
diff --git a/libjava/javax/swing/plaf/basic/BasicLabelUI.java b/libjava/javax/swing/plaf/basic/BasicLabelUI.java
new file mode 100644
index 00000000000..22bdc54aaab
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicLabelUI.java
@@ -0,0 +1,158 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.*;
+import javax.swing.plaf.*;
+import java.awt.*;
+
+
+public class BasicLabelUI extends LabelUI
+{
+ int gap = 3;
+
+ Color foreground;
+
+
+ public static ComponentUI createUI(final JComponent c) {
+ return new BasicLabelUI();
+ }
+
+
+ public void installUI(final JComponent c) {
+ super.installUI(c);
+
+ foreground = new Color(0,0,250);
+ }
+
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ JLabel b = (JLabel)c;
+ Dimension d = BasicGraphicsUtils.getPreferredSize(b,
+ gap,
+ b.getText(),
+ b.getIcon(),
+ b.getVerticalAlignment(),
+ b.getHorizontalAlignment(),
+ b.getHorizontalTextPosition(),
+ b.getVerticalTextPosition());
+ System.out.println("JLABEL->^^^^^^^^^^^^^^^^^^^^^^ BASIC-PREF="+d + ",T="+b.getText());
+ return d;
+ }
+
+
+ public void paint(Graphics g, JComponent c)
+ {
+ JLabel b = (JLabel) c;
+
+ Rectangle tr = new Rectangle();
+ Rectangle ir = new Rectangle();
+ Rectangle vr = new Rectangle();
+
+ Font f = c.getFont();
+
+ g.setFont(f);
+
+ FontMetrics fm = SwingUtilities.getFontMetrics(f);
+
+ Insets i = c.getInsets();
+
+ Rectangle bound = c.getBounds();
+
+ System.out.println("BOUND=" + bound + ", insets = " + i + ", " + b.getText());
+
+ if (bound == null)
+ {
+ vr.x = i.left;
+ vr.y = i.top;
+ vr.width = b.getWidth() - (i.right + i.left);
+ vr.height = b.getHeight() - (i.bottom + i.top);
+ }
+ else
+ {
+ vr.x = bound.x + i.left;
+ vr.y = bound.y + i.top;
+ vr.width = bound.width - (i.right + i.left);
+ vr.height = bound.height - (i.bottom + i.top);
+ }
+
+ System.out.println(" VIEW-RECT-JLABEL="+vr+", insets="+i+", FONTM="+fm);
+
+ String text = SwingUtilities.layoutCompoundLabel(c,
+ fm,
+ b.getText(),
+ b.getIcon(),
+ b.getVerticalAlignment(),
+ b.getHorizontalAlignment(),
+ b.getVerticalTextPosition(),
+ b.getHorizontalTextPosition(),
+ vr,
+ ir,
+ tr,
+ gap);
+
+ paintIcon(g, c, ir);
+ paintText(g, c, tr, b.getText());
+ paintFocus(g, c, vr, tr, ir);
+ }
+
+
+ protected void paintFocus(Graphics g,
+ JComponent c,
+ Rectangle vr,
+ Rectangle tr,
+ Rectangle ir)
+ {
+ }
+
+ protected void paintIcon(Graphics g,
+ JComponent c,
+ Rectangle iconRect)
+ {
+ JLabel b = (JLabel) c;
+ if (b.getIcon() != null)
+ {
+ int x = iconRect.x;
+ int y = iconRect.y;
+
+ System.out.println("WE HAVE AN ICON: " + b.getIcon());
+
+ b.getIcon().paintIcon(c, g, x, y);
+ }
+ else
+ {
+ //System.out.println("NO ICON FOR BUTTON:" + b.text);
+ }
+ }
+
+
+ protected void paintText(Graphics g,
+ JComponent c,
+ Rectangle textRect,
+ String text)
+ {
+ // AbstractLabel b = (AbstractLabel) c;
+
+ System.out.println("JLabel: drawing string: " + text + ", at:" + textRect);
+
+ g.setColor(foreground);
+ //g.setBackColor(new Color(190,190,190));
+
+ g.drawLine(0,0,100,100);
+
+ BasicGraphicsUtils.drawString(g,
+ text,
+ 0,
+ 0,//textRect.x,
+ 0);//textRect.y);
+ }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicListUI.java b/libjava/javax/swing/plaf/basic/BasicListUI.java
new file mode 100644
index 00000000000..abac5045031
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicListUI.java
@@ -0,0 +1,132 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.plaf.*;
+import javax.swing.*;
+import java.awt.*;
+
+
+public class BasicListUI extends ListUI
+{
+ int gap_between_cells;
+ Color textColor, disabledTextColor, pressedBackgroundColor, normalBackgroundColor;
+
+
+ public static ComponentUI createUI(final JComponent c)
+ {
+ return new BasicButtonUI();
+ }
+
+
+ public void installUI(final JComponent c)
+ {
+ super.installUI(c);
+
+ textColor = new Color(0,0,0);
+ disabledTextColor = new Color(130, 130, 130);
+ pressedBackgroundColor = new Color(150,150,150);
+ normalBackgroundColor = new Color(192,192,192);
+ }
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ JList l = (JList) c;
+
+ System.out.println("XXXXXXXXXXXXXXXxx getPreferredSize------------> " + l);
+
+
+ int rows = l.getVisibleRowCount();
+
+ ListCellRenderer render = l.getCellRenderer();
+
+ int width = 200;
+ int height = rows * 16;
+
+ if (l.getModel().getSize() == 0)
+ {
+ return new Dimension(width, height);
+ }
+
+ System.out.println("BASIC_LIST_UI ====-> " + l.getModel().getElementAt(0));
+
+ Component elt = render.getListCellRendererComponent(l,
+ l.getModel().getElementAt(0),
+ 0,
+ false,
+ false);
+ Dimension a = elt.getPreferredSize();
+ if (a == null)
+ {
+ return new Dimension(width, height);
+ }
+
+ return new Dimension(a.width,
+ a.height * rows);
+ }
+
+ public void paintBackground(Graphics g,
+ JComponent c)
+ {
+ Dimension size = getPreferredSize(c);
+
+ g.setColor(normalBackgroundColor);
+ g.fillRect(0,0,size.width, size.height);
+ }
+
+ public void paint(Graphics g,
+ JComponent c)
+ {
+ JList l = (JList) c;
+
+ int rows = l.getVisibleRowCount();
+
+ ListCellRenderer render = l.getCellRenderer();
+
+ System.out.println("RENDER-JLIST: " + rows + ", " + l.getModel().getSize());
+
+ paintBackground(g, c);
+
+ if (l.getModel().getSize() == 0)
+ return;
+
+ // use element 0 to figure out how big we are:
+ Component elt = render.getListCellRendererComponent(l,
+ l.getModel().getElementAt(0),
+ 0,
+ false,
+ false);
+ Dimension dim = elt.getPreferredSize();
+
+ Rectangle a = new Rectangle(0,
+ 0,
+ dim.width,
+ dim.height);
+
+ for (int i=0;i<l.getModel().getSize();i++)
+ {
+ boolean is_sel = false;
+ boolean has_focus = false;
+
+ Component comp = render.getListCellRendererComponent(l,
+ l.getModel().getElementAt(i),
+ i,
+ is_sel,
+ has_focus);
+
+ //System.out.println("AAAAA=> " + a + ", " + comp + ", index = " + i);
+
+ comp.setBounds(a);
+
+ comp.paint(g);
+
+ a.y += dim.height + gap_between_cells;
+ }
+ }
+}
+
+
+
+
+
+
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java b/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java
new file mode 100644
index 00000000000..7655ea3b23a
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java
@@ -0,0 +1,927 @@
+/* BasicLookAndFeel.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.swing.plaf.basic;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.event.KeyEvent;
+import java.io.Serializable;
+import java.util.Enumeration;
+import java.util.ResourceBundle;
+import javax.swing.ImageIcon;
+import javax.swing.KeyStroke;
+import javax.swing.LookAndFeel;
+import javax.swing.UIDefaults;
+import javax.swing.plaf.BorderUIResource;
+import javax.swing.plaf.ColorUIResource;
+import javax.swing.plaf.DimensionUIResource;
+import javax.swing.plaf.FontUIResource;
+import javax.swing.plaf.IconUIResource;
+import javax.swing.plaf.InsetsUIResource;
+import javax.swing.text.JTextComponent;
+
+/**
+ * BasicLookAndFeel
+ * @author Andrew Selkirk
+ */
+public abstract class BasicLookAndFeel extends LookAndFeel
+ implements Serializable
+{
+ /**
+ * Constructor BasicLookAndFeel
+ */
+ public BasicLookAndFeel()
+ {
+ // TODO
+ }
+
+ /**
+ * getDefaults
+ * @return UIDefaults
+ */
+ public UIDefaults getDefaults()
+ {
+ // Variables
+ UIDefaults def = new UIDefaults();
+ // Initialize Class Defaults
+ initClassDefaults(def);
+ // Initialize System Colour Defaults
+ initSystemColorDefaults(def);
+ // Initialize Component Defaults
+ initComponentDefaults(def);
+ // Return UI Defaults
+ return def;
+ }
+
+ /**
+ * initClassDefaults
+ * @param value0 TODO
+ */
+ protected void initClassDefaults(UIDefaults defaults)
+ {
+ // Variables
+ Object[] uiDefaults;
+ // Initialize Class Defaults
+ uiDefaults = new Object[] {
+ "ButtonUI", "javax.swing.plaf.basic.BasicButtonUI",
+ "CheckBoxMenuItemUI", "javax.swing.plaf.basic.BasicCheckBoxMenuItemUI",
+ "CheckBoxUI", "javax.swing.plaf.basic.BasicCheckBoxUI",
+ "ColorChooserUI", "javax.swing.plaf.basic.BasicColorChooserUI",
+ "ComboBoxUI", "javax.swing.plaf.basic.BasicComboBoxUI",
+ "DesktopIconUI", "javax.swing.plaf.basic.BasicDesktopIconUI",
+ "DesktopPaneUI", "javax.swing.plaf.basic.BasicDesktopPaneUI",
+ "EditorPaneUI", "javax.swing.plaf.basic.BasicEditorPaneUI",
+ "InternalFrameUI", "javax.swing.plaf.basic.BasicInternalFrameUI",
+ "LabelUI", "javax.swing.plaf.basic.BasicLabelUI",
+ "ListUI", "javax.swing.plaf.basic.BasicListUI",
+ "MenuBarUI", "javax.swing.plaf.basic.BasicMenuBarUI",
+ "MenuItemUI", "javax.swing.plaf.basic.BasicMenuItemUI",
+ "MenuUI", "javax.swing.plaf.basic.BasicMenuUI",
+ "OptionPaneUI", "javax.swing.plaf.basic.BasicOptionPaneUI",
+ "PanelUI", "javax.swing.plaf.basic.BasicPanelUI",
+ "PasswordFieldUI", "javax.swing.plaf.basic.BasicPasswordFieldUI",
+ "PopupMenuSeparatorUI", "javax.swing.plaf.basic.BasicPopupMenuSeparatorUI",
+ "PopupMenuUI", "javax.swing.plaf.basic.BasicPopupMenuUI",
+ "ProgressBarUI", "javax.swing.plaf.basic.BasicProgressBarUI",
+ "RadioButtonMenuItemUI", "javax.swing.plaf.basic.BasicRadioButtonMenuItemUI",
+ "RadioButtonUI", "javax.swing.plaf.basic.BasicRadioButtonUI",
+ "RootPaneUI", "javax.swing.plaf.basic.BasicRootPaneUI",
+ "ScrollBarUI", "javax.swing.plaf.basic.BasicScrollBarUI",
+ "ScrollPaneUI", "javax.swing.plaf.basic.BasicScrollPaneUI",
+ "SeparatorUI", "javax.swing.plaf.basic.BasicSeparatorUI",
+ "SliderUI", "javax.swing.plaf.basic.BasicSliderUI",
+ "SplitPaneUI", "javax.swing.plaf.basic.BasicSplitPaneUI",
+ "StandardDialogUI", "javax.swing.plaf.basic.BasicStandardDialogUI",
+ "TabbedPaneUI", "javax.swing.plaf.basic.BasicTabbedPaneUI",
+ "TableHeaderUI", "javax.swing.plaf.basic.BasicTableHeaderUI",
+ "TableUI", "javax.swing.plaf.basic.BasicTableUI",
+ "TextAreaUI", "javax.swing.plaf.basic.BasicTextAreaUI",
+ "TextFieldUI", "javax.swing.plaf.basic.BasicTextFieldUI",
+ "TextPaneUI", "javax.swing.plaf.basic.BasicTextPaneUI",
+ "ToggleButtonUI", "javax.swing.plaf.basic.BasicToggleButtonUI",
+ "ToolBarSeparatorUI", "javax.swing.plaf.basic.BasicToolBarSeparatorUI",
+ "ToolBarUI", "javax.swing.plaf.basic.BasicToolBarUI",
+ "ToolTipUI", "javax.swing.plaf.basic.BasicToolTipUI",
+ "TreeUI", "javax.swing.plaf.basic.BasicTreeUI",
+ "ViewportUI", "javax.swing.plaf.basic.BasicViewportUI"
+ };
+ // Add Class Defaults to UI Defaults table
+ defaults.putDefaults(uiDefaults);
+ }
+
+ /**
+ * initSystemColorDefaults
+ * @param defaults TODO
+ */
+ protected void initSystemColorDefaults(UIDefaults defaults)
+ {
+ Object[] uiDefaults;
+ uiDefaults = new Object[] {
+ "activeCaption", new ColorUIResource(0, 0, 128),
+ "activeCaptionBorder", new ColorUIResource(Color.lightGray),
+ "activeCaptionText", new ColorUIResource(Color.white),
+ "control", new ColorUIResource(Color.lightGray),
+ "controlDkShadow", new ColorUIResource(Color.black),
+ "controlHighlight", new ColorUIResource(Color.lightGray),
+ "controlLtHighlight", new ColorUIResource(Color.white),
+ "controlShadow", new ColorUIResource(Color.gray),
+ "controlText", new ColorUIResource(Color.black),
+ "desktop", new ColorUIResource(0, 92, 92),
+ "inactiveCaption", new ColorUIResource(Color.gray),
+ "inactiveCaptionBorder", new ColorUIResource(Color.lightGray),
+ "inactiveCaptionText", new ColorUIResource(Color.lightGray),
+ "info", new ColorUIResource(Color.white),
+ "infoText", new ColorUIResource(Color.black),
+ "menu", new ColorUIResource(Color.lightGray),
+ "menuText", new ColorUIResource(Color.black),
+ "scrollbar", new ColorUIResource(224, 224, 224),
+ "text", new ColorUIResource(Color.lightGray),
+ "textHighlight", new ColorUIResource(0, 0, 128),
+ "textHighlightText", new ColorUIResource(Color.white),
+ "textInactiveText", new ColorUIResource(Color.gray),
+ "textText", new ColorUIResource(Color.black),
+ "window", new ColorUIResource(Color.white),
+ "windowBorder", new ColorUIResource(Color.black),
+ "windowText", new ColorUIResource(Color.black)
+ };
+ defaults.putDefaults(uiDefaults);
+ }
+
+ /**
+ * loadSystemColors
+ * @param defaults TODO
+ * @param value1 TODO
+ * @param value2 TODO
+ */
+ protected void loadSystemColors(UIDefaults defaults, String[] value1,
+ boolean value2)
+ {
+ // TODO
+ }
+
+ /**
+ * loadResourceBundle
+ * @param defaults TODO
+ */
+ private void loadResourceBundle(UIDefaults defaults)
+ {
+ ResourceBundle bundle;
+ Enumeration enum;
+ String key;
+ String value;
+ bundle = ResourceBundle.getBundle("resources/basic");
+ // Process Resources
+ enum = bundle.getKeys();
+ while (enum.hasMoreElements())
+ {
+ key = (String) enum.nextElement();
+ value = bundle.getString(key);
+ defaults.put(key, value);
+ }
+ }
+
+ /**
+ * initComponentDefaults
+ * @param defaults TODO
+ */
+ protected void initComponentDefaults(UIDefaults defaults)
+ {
+ Object[] uiDefaults;
+ uiDefaults = new Object[] {
+ "Button.background", new ColorUIResource(Color.lightGray),
+ "Button.border", new BorderUIResource.CompoundBorderUIResource(null,
+ null),
+ "Button.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "SPACE", "pressed",
+ "released SPACE", "released"
+ }),
+ "Button.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "Button.foreground", new ColorUIResource(Color.black),
+ "Button.margin", new InsetsUIResource(2, 14, 2, 14),
+ "Button.textIconGap", new Integer(4),
+ "Button.textShiftOffset", new Integer(0),
+ "CheckBox.background", new ColorUIResource(Color.lightGray),
+ "CheckBox.border", new BorderUIResource.CompoundBorderUIResource(null,
+ null),
+ "CheckBox.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "SPACE", "pressed",
+ "released SPACE", "released"
+ }),
+ "CheckBox.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "CheckBox.foreground", new ColorUIResource(Color.black),
+ "CheckBox.icon", BasicIconFactory.getCheckBoxIcon(),
+ "CheckBox.margin",new InsetsUIResource(2, 2, 2, 2),
+ "CheckBox.textIconGap", new Integer(4),
+ "CheckBox.textShiftOffset", new Integer(0),
+ "CheckBoxMenuItem.acceleratorFont", new FontUIResource("Dialog",
+ Font.PLAIN, 12),
+ "CheckBoxMenuItem.acceleratorForeground", new ColorUIResource(Color.black),
+ "CheckBoxMenuItem.acceleratorSelectionForeground", new ColorUIResource(Color.white),
+ "CheckBoxMenuItem.arrowIcon", BasicIconFactory.getMenuItemArrowIcon(),
+ "CheckBoxMenuItem.background", new ColorUIResource(Color.lightGray),
+ "CheckBoxMenuItem.border", new BasicBorders.MarginBorder(),
+ "CheckBoxMenuItem.borderPainted", Boolean.FALSE,
+ "CheckBoxMenuItem.checkIcon", BasicIconFactory.getCheckBoxMenuItemIcon(),
+ "CheckBoxMenuItem.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "CheckBoxMenuItem.foreground", new ColorUIResource(Color.black),
+ "CheckBoxMenuItem.margin", new InsetsUIResource(2, 2, 2, 2),
+ "CheckBoxMenuItem.selectionBackground", new ColorUIResource(0, 0, 128),
+ "CheckBoxMenuItem.selectionForeground", new ColorUIResource(Color.white),
+ "ColorChooser.background", new ColorUIResource(Color.lightGray),
+ "ColorChooser.cancelText", "Cancel",
+ "ColorChooser.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "ColorChooser.foreground", new ColorUIResource(Color.black),
+ "ColorChooser.hsbBlueText", "B",
+ "ColorChooser.hsbBrightnessText", "B",
+ "ColorChooser.hsbGreenText", "G",
+ "ColorChooser.hsbHueText", "H",
+ "ColorChooser.hsbNameText", "HSB",
+ "ColorChooser.hsbRedText", "R",
+ "ColorChooser.hsbSaturationText", "S",
+ "ColorChooser.okText", "OK",
+ "ColorChooser.previewText", "Preview",
+ "ColorChooser.resetText", "Reset",
+ "ColorChooser.rgbBlueMnemonic", new Integer(66),
+ "ColorChooser.rgbBlueText", "Blue",
+ "ColorChooser.rgbGreenMnemonic", new Integer(71),
+ "ColorChooser.rgbGreenText", "Green",
+ "ColorChooser.rgbNameText", "RGB",
+ "ColorChooser.rgbRedMnemonic", new Integer(82),
+ "ColorChooser.rgbRedText", "Red",
+ "ColorChooser.sampleText", "Sample Text Sample Text",
+ "ColorChooser.swatchesDefaultRecentColor", new ColorUIResource(Color.lightGray),
+ "ColorChooser.swatchesNameText", "Swatches",
+ "ColorChooser.swatchesRecentSwatchSize", new Dimension(10, 10),
+ "ColorChooser.swatchesRecentText", "Recent:",
+ "ColorChooser.swatchesSwatchSize", new Dimension(10, 10),
+ "ComboBox.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "ESCAPE", "hidePopup",
+ "PAGE_UP", "pageUpPassThrough",
+ "PAGE_DOWN", "pageDownPassThrough",
+ "HOME", "homePassThrough",
+ "END", "endPassThrough"
+ }),
+ "ComboBox.background", new ColorUIResource(Color.white),
+ "ComboBox.disabledBackground", new ColorUIResource(Color.lightGray),
+ "ComboBox.disabledForeground", new ColorUIResource(Color.gray),
+ "ComboBox.font", new FontUIResource("SansSerif", Font.PLAIN, 12),
+ "ComboBox.foreground", new ColorUIResource(Color.black),
+ "ComboBox.selectionBackground", new ColorUIResource(0, 0, 128),
+ "ComboBox.selectionForeground", new ColorUIResource(Color.white),
+ "Desktop.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "KP_LEFT", "left",
+ "KP_RIGHT", "right",
+ "ctrl F5", "restore",
+ "LEFT", "left",
+ "ctrl alt F6", "selectNextFrame",
+ "UP", "up",
+ "ctrl F6", "selectNextFrame",
+ "RIGHT", "right",
+ "DOWN", "down",
+ "ctrl F7", "move",
+ "ctrl F8", "resize",
+ "ESCAPE", "escape",
+ "ctrl TAB", "selectNextFrame",
+ "ctrl F9", "minimize",
+ "KP_UP", "up",
+ "ctrl F4", "close",
+ "KP_DOWN", "down",
+ "ctrl F10", "maximize",
+ "ctrl alt shift F6","selectPreviousFrame"
+ }),
+ "Desktop.background", new ColorUIResource(0, 92, 92),
+ "DesktopIcon.border", new BorderUIResource.CompoundBorderUIResource(null,
+ null),
+ "EditorPane.background", new ColorUIResource(Color.white),
+ "EditorPane.border", new BasicBorders.MarginBorder(),
+ "EditorPane.caretBlinkRate", new Integer(500),
+ "EditorPane.caretForeground", new ColorUIResource(Color.red),
+ "EditorPane.font", new FontUIResource("Serif", Font.PLAIN, 12),
+ "EditorPane.foreground", new ColorUIResource(Color.black),
+ "EditorPane.inactiveForeground", new ColorUIResource(Color.gray),
+ "EditorPane.keyBindings", new JTextComponent.KeyBinding[] {
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_UP,
+ 0), "caret-up"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN,
+ 0), "caret-down"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP,
+ 0), "page-up"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN,
+ 0), "page-down"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,
+ 0), "insert-break"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_TAB,
+ 0), "insert-tab")
+ },
+ "EditorPane.margin", new InsetsUIResource(3, 3, 3, 3),
+ "EditorPane.selectionBackground", new ColorUIResource(Color.lightGray),
+ "EditorPane.selectionForeground", new ColorUIResource(Color.white),
+ "FileChooser.acceptAllFileFilterText", "All Files (*.*)",
+ "FileChooser.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "ESCAPE", "cancelSelection"
+ }),
+ "FileChooser.cancelButtonMnemonic", new Integer(67),
+ "FileChooser.cancelButtonText", "Cancel",
+ "FileChooser.cancelButtonToolTipText", "Abort file chooser dialog",
+ // XXX Don't use gif
+ "FileChooser.detailsViewIcon", new IconUIResource(new ImageIcon("icons/DetailsView.gif")),
+ "FileChooser.directoryDescriptionText", "Directory",
+ "FileChooser.fileDescriptionText", "Generic File",
+ "FileChooser.helpButtonMnemonic", new Integer(72),
+ "FileChooser.helpButtonText", "Help",
+ "FileChooser.helpButtonToolTipText", "FileChooser help",
+ // XXX Don't use gif
+ "FileChooser.homeFolderIcon", new IconUIResource(new ImageIcon("icons/HomeFolder.gif")),
+ // XXX Don't use gif
+ "FileChooser.listViewIcon", new IconUIResource(new ImageIcon("icons/ListView.gif")),
+ "FileChooser.newFolderErrorSeparator", ":",
+ "FileChooser.newFolderErrorText", "Error creating new folder",
+ // XXX Don't use gif
+ "FileChooser.newFolderIcon", new IconUIResource(new ImageIcon("icons/NewFolder.gif")),
+ "FileChooser.openButtonMnemonic", new Integer(79),
+ "FileChooser.openButtonText", "Open",
+ "FileChooser.openButtonToolTipText", "Open selected file",
+ "FileChooser.saveButtonMnemonic", new Integer(83),
+ "FileChooser.saveButtonText", "Save",
+ "FileChooser.saveButtonToolTipText", "Save selected file",
+ // XXX Don't use gif
+ "FileChooser.upFolderIcon", new IconUIResource(new ImageIcon("icons/UpFolder.gif")),
+ "FileChooser.updateButtonMnemonic", new Integer(85),
+ "FileChooser.updateButtonText", "Update",
+ "FileChooser.updateButtonToolTipText", "Update directory listing",
+ // XXX Don't use gif
+ "FileView.computerIcon", new IconUIResource(new ImageIcon("icons/Computer.gif")),
+ // XXX Don't use gif
+ "FileView.directoryIcon", new IconUIResource(new ImageIcon("icons/Directory.gif")),
+ // XXX Don't use gif
+ "FileView.fileIcon", new IconUIResource(new ImageIcon("icons/File.gif")),
+ // XXX Don't use gif
+ "FileView.floppyDriveIcon", new IconUIResource(new ImageIcon("icons/Floppy.gif")),
+ // XXX Don't use gif
+ "FileView.hardDriveIcon", new IconUIResource(new ImageIcon("icons/HardDrive.gif")),
+ "FocusManagerClassName", "TODO",
+ "FormView.resetButtonText", "Reset",
+ "FormView.submitButtonText", "Submit Query",
+ "InternalFrame.activeTitleBackground", new ColorUIResource(0, 0, 128),
+ "InternalFrame.activeTitleForeground", new ColorUIResource(Color.white),
+ "InternalFrame.border", new BorderUIResource.CompoundBorderUIResource(null,
+ null),
+ "InternalFrame.closeIcon", BasicIconFactory.createEmptyFrameIcon(),
+ // XXX Don't use gif
+ "InternalFrame.icon", new IconUIResource(new ImageIcon("icons/JavaCup.gif")),
+ "InternalFrame.iconifyIcon", BasicIconFactory.createEmptyFrameIcon(),
+ "InternalFrame.inactiveTitleBackground", new ColorUIResource(Color.gray),
+ "InternalFrame.inactiveTitleForeground", new ColorUIResource(Color.lightGray),
+ "InternalFrame.maximizeIcon", BasicIconFactory.createEmptyFrameIcon(),
+ "InternalFrame.minimizeIcon", BasicIconFactory.createEmptyFrameIcon(),
+ "InternalFrame.titleFont", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "InternalFrame.windowBindings", new Object[] {
+ "shift ESCAPE", "showSystemMenu",
+ "ctrl SPACE", "showSystemMenu",
+ "ESCAPE", "showSystemMenu"
+ },
+ "Label.background", new ColorUIResource(Color.lightGray),
+ "Label.disabledForeground", new ColorUIResource(Color.white),
+ "Label.disabledShadow", new ColorUIResource(Color.gray),
+ "Label.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "List.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "PAGE_UP", "scrollUp",
+ "ctrl \\", "clearSelection",
+ "PAGE_DOWN", "scrollDown",
+ "shift PAGE_DOWN","scrollDownExtendSelection",
+ "END", "selectLastRow",
+ "HOME", "selectFirstRow",
+ "shift END", "selectLastRowExtendSelection",
+ "shift HOME", "selectFirstRowExtendSelection",
+ "UP", "selectPreviousRow",
+ "ctrl /", "selectAll",
+ "ctrl A", "selectAll",
+ "DOWN", "selectNextRow",
+ "shift UP", "selectPreviousRowExtendSelection",
+ "ctrl SPACE", "selectNextRowExtendSelection",
+ "shift DOWN", "selectNextRowExtendSelection",
+ "KP_UP", "selectPreviousRow",
+ "shift PAGE_UP","scrollUpExtendSelection",
+ "KP_DOWN", "selectNextRow"
+ }),
+ "List.foreground", new ColorUIResource(Color.black),
+ "List.selectionBackground", new ColorUIResource(0, 0, 128),
+ "List.selectionForeground", new ColorUIResource(Color.white),
+ "Menu.acceleratorFont", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "Menu.acceleratorForeground", new ColorUIResource(Color.black),
+ "Menu.acceleratorSelectionForeground", new ColorUIResource(Color.white),
+ "Menu.arrowIcon", BasicIconFactory.getMenuArrowIcon(),
+ "Menu.background", new ColorUIResource(Color.lightGray),
+ "Menu.border", new BasicBorders.MarginBorder(),
+ "Menu.borderPainted", Boolean.FALSE,
+ "Menu.checkIcon", BasicIconFactory.getMenuItemCheckIcon(),
+ "Menu.consumesTabs", Boolean.TRUE,
+ "Menu.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "Menu.foreground", new ColorUIResource(Color.black),
+ "Menu.margin", new InsetsUIResource(2, 2, 2, 2),
+ "Menu.selectedWindowInputMapBindings", new Object[] {
+ "ESCAPE", "cancel",
+ "DOWN", "selectNext",
+ "KP_DOWN", "selectNext",
+ "UP", "selectPrevious",
+ "KP_UP", "selectPrevious",
+ "LEFT", "selectParent",
+ "KP_LEFT", "selectParent",
+ "RIGHT", "selectChild",
+ "KP_RIGHT", "selectChild",
+ "ENTER", "return",
+ "SPACE", "return"
+ },
+ "Menutext.selectionBackground", new ColorUIResource(0, 0, 128),
+ "Menu.selectionForeground", new ColorUIResource(Color.white),
+ "MenuBar.background", new ColorUIResource(Color.lightGray),
+ "MenuBar.border", new BasicBorders.MenuBarBorder(null, null),
+ "MenuBar.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "MenuBar.foreground", new ColorUIResource(Color.black),
+ "MenuBar.windowBindings", new Object[] {
+ "F10", "takeFocus"
+ },
+ "MenuItem.acceleratorDelimiter", "+",
+ "MenuItem.acceleratorFont", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "MenuItem.acceleratorForeground", new ColorUIResource(Color.black),
+ "MenuItem.acceleratorSelectionForeground", new ColorUIResource(Color.white),
+ "MenuItem.arrowIcon", BasicIconFactory.getMenuItemArrowIcon(),
+ "MenuItem.background", new ColorUIResource(Color.lightGray),
+ "MenuItem.border", new BasicBorders.MarginBorder(),
+ "MenuItem.borderPainted", Boolean.FALSE,
+ "MenuItem.checkIcon", BasicIconFactory.getMenuItemCheckIcon(),
+ "MenuItem.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "MenuItem.foreground", new ColorUIResource(Color.black),
+ "MenuItem.margin", new InsetsUIResource(2, 2, 2, 2),
+ "MenuItem.selectionBackground", new ColorUIResource(0, 0, 128),
+ "MenuItem.selectionForeground", new ColorUIResource(Color.white),
+ "OptionPane.background", new ColorUIResource(Color.lightGray),
+ "OptionPane.border", new BorderUIResource.EmptyBorderUIResource(0, 0, 0, 0),
+ "OptionPane.buttonAreaBorder", new BorderUIResource.EmptyBorderUIResource(0, 0, 0, 0),
+ "OptionPane.cancelButtonText", "Cancel",
+ // XXX Don't use gif
+ "OptionPane.errorIcon", new IconUIResource(new ImageIcon("icons/Error.gif")),
+ "OptionPane.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "OptionPane.foreground", new ColorUIResource(Color.black),
+ // XXX Don't use gif
+ "OptionPane.informationIcon", new IconUIResource(new ImageIcon("icons/Inform.gif")),
+ "OptionPane.messageAreaBorder", new BorderUIResource.EmptyBorderUIResource(0, 0, 0, 0),
+ "OptionPane.messageForeground", new ColorUIResource(Color.black),
+ "OptionPane.minimumSize", new DimensionUIResource(262, 90),
+ "OptionPane.noButtonText", "No",
+ "OptionPane.okButtonText", "OK",
+ // XXX Don't use gif
+ "OptionPane.questionIcon", new IconUIResource(new ImageIcon("icons/Question.gif")),
+ // XXX Don't use gif
+ "OptionPane.warningIcon", new IconUIResource(new ImageIcon("icons/Warn.gif")),
+ "OptionPane.windowBindings", new Object[] {
+ "ESCAPE", "close"
+ },
+ "OptionPane.yesButtonText", "Yes",
+ "Panel.background", new ColorUIResource(Color.lightGray),
+ "Panel.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "Panel.foreground", new ColorUIResource(Color.black),
+ "PasswordField.background", new ColorUIResource(Color.white),
+ "PasswordField.border", new BasicBorders.FieldBorder(null, null,
+ null, null),
+ "PasswordField.caretBlinkRate", new Integer(500),
+ "PasswordField.caretForeground", new ColorUIResource(Color.black),
+ "PasswordField.font", new FontUIResource("MonoSpaced", Font.PLAIN, 12),
+ "PasswordField.foreground", new ColorUIResource(Color.black),
+ "PasswordField.inactiveForeground", new ColorUIResource(Color.gray),
+ "PasswordField.keyBindings", new JTextComponent.KeyBinding[] {
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,
+ 0),
+ "notify-field-accept")},
+ "PasswordField.margin", new InsetsUIResource(0, 0, 0, 0),
+ "PasswordField.selectionBackground", new ColorUIResource(0, 0, 128),
+ "PasswordField.selectionForeground", new ColorUIResource(Color.white),
+ "PopupMenu.background", new ColorUIResource(Color.lightGray),
+ "PopupMenu.border", new BorderUIResource.BevelBorderUIResource(0),
+ "PopupMenu.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "PopupMenu.foreground", new ColorUIResource(Color.black),
+ "ProgressBar.background", new ColorUIResource(Color.lightGray),
+ "ProgressBar.border", new BorderUIResource.LineBorderUIResource(null),
+ "ProgressBar.cellLength", new Integer(1),
+ "ProgressBar.cellSpacing", new Integer(0),
+ "ProgressBar.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "ProgressBar.foreground", new ColorUIResource(0, 0, 128),
+ "ProgressBar.selectionBackground", new ColorUIResource(0, 0, 128),
+ "ProgressBar.selectionForeground", new ColorUIResource(Color.lightGray),
+ "RadioButton.background", new ColorUIResource(Color.lightGray),
+ "RadioButton.border", new BorderUIResource.CompoundBorderUIResource(null,
+ null),
+ "RadioButton.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "SPACE", "pressed",
+ "released SPACE", "released"
+ }),
+ "RadioButton.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "RadioButton.foreground", new ColorUIResource(Color.black),
+ "RadioButton.icon", BasicIconFactory.getRadioButtonIcon(),
+ "RadioButton.margin", new InsetsUIResource(2, 2, 2, 2),
+ "RadioButton.textIconGap", new Integer(4),
+ "RadioButton.textShiftOffset", new Integer(0),
+ "RadioButtonMenuItem.acceleratorFont", new FontUIResource("Dialog",
+ Font.PLAIN, 12),
+ "RadioButtonMenuItem.acceleratorForeground", new ColorUIResource(Color.black),
+ "RadioButtonMenuItem.acceleratorSelectionForeground", new ColorUIResource(Color.white),
+ "RadioButtonMenuItem.arrowIcon", BasicIconFactory.getMenuItemArrowIcon(),
+ "RadioButtonMenuItem.background", new ColorUIResource(Color.lightGray),
+ "RadioButtonMenuItem.border", new BasicBorders.MarginBorder(),
+ "RadioButtonMenuItem.borderPainted", Boolean.FALSE,
+ "RadioButtonMenuItem.checkIcon", BasicIconFactory.getRadioButtonMenuItemIcon(),
+ "RadioButtonMenuItem.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "RadioButtonMenuItem.foreground", new ColorUIResource(Color.black),
+ "RadioButtonMenuItem.margin", new InsetsUIResource(2, 2, 2, 2),
+ "RadioButtonMenuItem.selectionBackground", new ColorUIResource(0, 0, 128),
+ "RadioButtonMenuItem.selectionForeground", new ColorUIResource(Color.white),
+ "RootPane.defaultButtonWindowKeyBindings", new Object[] {
+ "ENTER", "press",
+ "released ENTER", "release",
+ "ctrl ENTER", "press",
+ "ctrl released ENTER", "release"
+ },
+ "ScrollBar.background", new ColorUIResource(224, 224, 224),
+ "ScrollBar.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "PAGE_UP", "negativeBlockIncrement",
+ "PAGE_DOWN", "positiveBlockIncrement",
+ "END", "maxScroll",
+ "HOME", "minScroll",
+ "LEFT", "positiveUnitIncrement",
+ "KP_UP", "negativeUnitIncrement",
+ "KP_DOWN", "positiveUnitIncrement",
+ "UP", "negativeUnitIncrement",
+ "RIGHT", "negativeUnitIncrement",
+ "KP_LEFT", "positiveUnitIncrement",
+ "DOWN", "positiveUnitIncrement",
+ "KP_RIGHT", "negativeUnitIncrement"
+ }),
+ "ScrollBar.foreground", new ColorUIResource(Color.lightGray),
+ "ScrollBar.maximumThumbSize", new DimensionUIResource(4096, 4096),
+ "ScrollBar.minimumThumbSize", new DimensionUIResource(8, 8),
+ "ScrollBar.thumb", new ColorUIResource(Color.lightGray),
+ "ScrollBar.thumbDarkShadow", new ColorUIResource(Color.black),
+ "ScrollBar.thumbHighlight", new ColorUIResource(Color.white),
+ "ScrollBar.thumbLightShadow", new ColorUIResource(Color.gray),
+ "ScrollBar.track", new ColorUIResource(224, 224, 224),
+ "ScrollBar.trackHighlight", new ColorUIResource(Color.black),
+ "ScrollPane.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "PAGE_UP", "scrollUp",
+ "KP_LEFT", "unitScrollLeft",
+ "ctrl PAGE_DOWN","scrollRight",
+ "PAGE_DOWN", "scrollDown",
+ "KP_RIGHT", "unitScrollRight",
+ "LEFT", "unitScrollLeft",
+ "ctrl END", "scrollEnd",
+ "UP", "unitScrollUp",
+ "RIGHT", "unitScrollRight",
+ "DOWN", "unitScrollDown",
+ "ctrl HOME", "scrollHome",
+ "ctrl PAGE_UP", "scrollLeft",
+ "KP_UP", "unitScrollUp",
+ "KP_DOWN", "unitScrollDown"
+ }),
+ "ScrollPane.background", new ColorUIResource(Color.lightGray),
+ "ScrollPane.border", new BorderUIResource.EtchedBorderUIResource(),
+ "ScrollPane.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "ScrollPane.foreground", new ColorUIResource(Color.black),
+ "Separator.background", new ColorUIResource(Color.white),
+ "Separator.foreground", new ColorUIResource(Color.gray),
+ "Separator.highlight", new ColorUIResource(Color.white),
+ "Separator.shadow", new ColorUIResource(Color.gray),
+ "Slider.background", new ColorUIResource(Color.lightGray),
+ "Slider.focus", new ColorUIResource(Color.black),
+ "Slider.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "PAGE_UP", "positiveBlockIncrement",
+ "PAGE_DOWN", "negativeBlockIncrement",
+ "END", "maxScroll",
+ "HOME", "minScroll",
+ "LEFT", "negativeUnitIncrement",
+ "KP_UP", "positiveUnitIncrement",
+ "KP_DOWN", "negativeUnitIncrement",
+ "UP", "positiveUnitIncrement",
+ "RIGHT", "positiveUnitIncrement",
+ "KP_LEFT", "negativeUnitIncrement",
+ "DOWN", "negativeUnitIncrement",
+ "KP_RIGHT", "positiveUnitIncrement"
+ }),
+ "Slider.focusInsets", new InsetsUIResource(2, 2, 2, 2),
+ "Slider.foreground", new ColorUIResource(Color.lightGray),
+ "Slider.highlight", new ColorUIResource(Color.white),
+ "Slider.shadow", new ColorUIResource(Color.gray),
+ "SplitPane.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "F6", "toggleFocus",
+ "F8", "startResize",
+ "END", "selectMax",
+ "HOME", "selectMin",
+ "LEFT", "negativeIncremnent",
+ "KP_UP", "negativeIncrement",
+ "KP_DOWN", "positiveIncrement",
+ "UP", "negativeIncrement",
+ "RIGHT", "positiveIncrement",
+ "KP_LEFT", "negativeIncrement",
+ "DOWN", "positiveIncrement",
+ "KP_RIGHT", "positiveIncrement"
+ }),
+ "SplitPane.background", new ColorUIResource(Color.lightGray),
+ "SplitPane.border", new BasicBorders.SplitPaneBorder(null, null),
+ "SplitPane.dividerSize", new Integer(7),
+ "SplitPane.highlight", new ColorUIResource(Color.white),
+ "SplitPane.shadow", new ColorUIResource(Color.gray),
+ "TabbedPane.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "ctrl PAGE_DOWN","navigatePageDown",
+ "ctrl PAGE_UP", "navigatePageUp",
+ "ctrl UP", "requestFocus",
+ "ctrl KP_UP", "requestFocus"
+ }),
+ "TabbedPane.background", new ColorUIResource(Color.lightGray),
+ "TabbedPane.contentBorderInsets", new InsetsUIResource(2, 2, 3, 3),
+ "TabbedPane.darkShadow", new ColorUIResource(Color.black),
+ "TabbedPane.focus", new ColorUIResource(Color.black),
+ "TabbedPane.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "LEFT", "navigateLeft",
+ "KP_UP", "navigateUp",
+ "ctrl DOWN", "requestFocusForVisibleComponent",
+ "UP", "navigateUp",
+ "KP_DOWN", "navigateDown",
+ "RIGHT", "navigateRight",
+ "KP_LEFT", "navigateLeft",
+ "ctrl KP_DOWN", "requestFocusForVisibleComponent",
+ "KP_RIGHT", "navigateRight",
+ "DOWN", "navigateDown"
+ }),
+ "TabbedPane.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "TabbedPane.foreground", new ColorUIResource(Color.black),
+ "TabbedPane.highlight", new ColorUIResource(Color.lightGray),
+ "TabbedPane.lightHighlight", new ColorUIResource(Color.white),
+ "TabbedPane.selectedTabPadInsets", new InsetsUIResource(2, 2, 2, 1),
+ "TabbedPane.shadow", new ColorUIResource(Color.gray),
+ "TabbedPane.tabAreaInsets", new InsetsUIResource(3, 2, 0, 2),
+ "TabbedPane.tabInsets", new InsetsUIResource(0, 4, 1, 4),
+ "TabbedPane.tabRunOverlay", new Integer(2),
+ "TabbedPane.textIconGap", new Integer(4),
+ "Table.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "shift PAGE_DOWN","scrollDownExtendSelection",
+ "PAGE_DOWN", "scrollDownChangeSelection",
+ "END", "selectLastColumn",
+ "shift END", "selectLastColumnExtendSelection",
+ "HOME", "selectFirstColumn",
+ "ctrl END", "selectLastRow",
+ "ctrl shift END","selectLastRowExtendSelection",
+ "LEFT", "selectPreviousColumn",
+ "shift HOME", "selectFirstColumnExtendSelection",
+ "UP", "selectPreviousRow",
+ "RIGHT", "selectNextColumn",
+ "ctrl HOME", "selectFirstRow",
+ "shift LEFT", "selectPreviousColumnExtendSelection",
+ "DOWN", "selectNextRow",
+ "ctrl shift HOME","selectFirstRowExtendSelection",
+ "shift UP", "selectPreviousRowExtendSelection",
+ "F2", "startEditing",
+ "shift RIGHT", "selectNextColumnExtendSelection",
+ "TAB", "selectNextColumnCell",
+ "shift DOWN", "selectNextRowExtendSelection",
+ "ENTER", "selectNextRowCell",
+ "KP_UP", "selectPreviousRow",
+ "KP_DOWN", "selectNextRow",
+ "KP_LEFT", "selectPreviousColumn",
+ "KP_RIGHT", "selectNextColumn",
+ "shift TAB", "selectPreviousColumnCell",
+ "ctrl A", "selectAll",
+ "shift ENTER", "selectPreviousRowCell",
+ "shift KP_DOWN", "selectNextRowExtendSelection",
+ "shift KP_LEFT", "selectPreviousColumnExtendSelection",
+ "ESCAPE", "cancel",
+ "ctrl shift PAGE_UP", "scrollRightExtendSelection",
+ "shift KP_RIGHT", " selectNextColumnExtendSelection",
+ "ctrl PAGE_UP", "scrollLeftChangeSelection",
+ "shift PAGE_UP", "scrollUpExtendSelection",
+ "ctrl shift PAGE_DOWN", "scrollLeftExtendSelection",
+ "ctrl PAGE_DOWN", "scrollRightChangeSelection",
+ "PAGE_UP", "scrollUpChangeSelection"
+ }),
+ "Table.background", new ColorUIResource(Color.white),
+ "Table.focusCellBackground", new ColorUIResource(Color.white),
+ "Table.focusCellForeground", new ColorUIResource(Color.black),
+ "Table.focusCellHighlightBorder", new BorderUIResource.LineBorderUIResource(null),
+ "Table.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "Table.foreground", new ColorUIResource(Color.black),
+ "Table.gridColor", new ColorUIResource(Color.gray),
+ "Table.scrollPaneBorder", new BorderUIResource.BevelBorderUIResource(0),
+ "Table.selectionBackground", new ColorUIResource(0, 0, 128),
+ "Table.selectionForeground", new ColorUIResource(Color.white),
+ "TableHeader.background", new ColorUIResource(Color.lightGray),
+ "TableHeader.cellBorder", new BorderUIResource.BevelBorderUIResource(0),
+ "TableHeader.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "TableHeader.foreground", new ColorUIResource(Color.black),
+ "TextArea.background", new ColorUIResource(Color.white),
+ "TextArea.border", new BasicBorders.MarginBorder(),
+ "TextArea.caretBlinkRate", new Integer(500),
+ "TextArea.caretForeground", new ColorUIResource(Color.black),
+ "TextArea.font", new FontUIResource("MonoSpaced", Font.PLAIN, 12),
+ "TextArea.foreground", new ColorUIResource(Color.black),
+ "TextArea.inactiveForeground", new ColorUIResource(Color.gray),
+ "TextArea.keyBindings", new JTextComponent.KeyBinding[] {
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_UP,
+ 0), "caret-up"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN,
+ 0), "caret-down"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP,
+ 0), "page-up"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN,
+ 0), "page-down"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,
+ 0), "insert-break"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_TAB,
+ 0), "insert-tab")
+ },
+ "TextArea.margin", new InsetsUIResource(0, 0, 0, 0),
+ "TextArea.selectionBackground", new ColorUIResource(0, 0, 128),
+ "TextArea.selectionForeground", new ColorUIResource(Color.white),
+ "TextField.background", new ColorUIResource(Color.white),
+ "TextField.border", new BasicBorders.FieldBorder(null, null, null, null),
+ "TextField.caretBlinkRate", new Integer(500),
+ "TextField.caretForeground", new ColorUIResource(Color.black),
+ "TextField.font", new FontUIResource("SansSerif", Font.PLAIN, 12),
+ "TextField.foreground", new ColorUIResource(Color.black),
+ "TextField.inactiveForeground", new ColorUIResource(Color.gray),
+ "TextField.keyBindings", new JTextComponent.KeyBinding[] {
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,
+ 0),
+ "notify-field-accept")},
+ "TextField.margin", new InsetsUIResource(0, 0, 0, 0),
+ "TextField.selectionBackground", new ColorUIResource(0, 0, 128),
+ "TextField.selectionForeground", new ColorUIResource(Color.white),
+ "TextPane.background", new ColorUIResource(Color.white),
+ "TextPane.border", new BasicBorders.MarginBorder(),
+ "TextPane.caretBlinkRate", new Integer(500),
+ "TextPane.caretForeground", new ColorUIResource(Color.black),
+ "TextPane.font", new FontUIResource("Serif", Font.PLAIN, 12),
+ "TextPane.foreground", new ColorUIResource(Color.black),
+ "TextPane.inactiveForeground", new ColorUIResource(Color.gray),
+ "TextPane.keyBindings", new JTextComponent.KeyBinding[] {
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_UP,
+ 0), "caret-up"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN,
+ 0), "caret-down"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP,
+ 0), "page-up"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN,
+ 0), "page-down"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,
+ 0), "insert-break"),
+ new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_TAB,
+ 0), "insert-tab")
+ },
+ "TextPane.margin", new InsetsUIResource(3, 3, 3, 3),
+ "TextPane.selectionBackground", new ColorUIResource(Color.lightGray),
+ "TextPane.selectionForeground", new ColorUIResource(Color.white),
+ "TitledBorder.border", new BorderUIResource.EtchedBorderUIResource(),
+ "TitledBorder.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "TitledBorder.titleColor", new ColorUIResource(Color.black),
+ "ToggleButton.background", new ColorUIResource(Color.lightGray),
+ "ToggleButton.border", new BorderUIResource.CompoundBorderUIResource(null, null),
+ "ToggleButton.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "SPACE", "pressed",
+ "released SPACE", "released"
+ }),
+ "ToggleButton.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "ToggleButton.foreground", new ColorUIResource(Color.black),
+ "ToggleButton.margin", new InsetsUIResource(2, 14, 2, 14),
+ "ToggleButton.textIconGap", new Integer(4),
+ "ToggleButton.textShiftOffset", new Integer(0),
+ "ToolBar.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "UP", "navigateUp",
+ "KP_UP", "navigateUp",
+ "DOWN", "navigateDown",
+ "KP_DOWN", "navigateDown",
+ "LEFT", "navigateLeft",
+ "KP_LEFT", "navigateLeft",
+ "RIGHT", "navigateRight",
+ "KP_RIGHT", "navigateRight"
+ }),
+ "ToolBar.background", new ColorUIResource(Color.lightGray),
+ "ToolBar.border", new BorderUIResource.EtchedBorderUIResource(),
+ "ToolBar.dockingBackground", new ColorUIResource(Color.lightGray),
+ "ToolBar.dockingForeground", new ColorUIResource(Color.red),
+ "ToolBar.floatingBackground", new ColorUIResource(Color.lightGray),
+ "ToolBar.floatingForeground", new ColorUIResource(Color.darkGray),
+ "ToolBar.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "ToolBar.foreground", new ColorUIResource(Color.black),
+ "ToolBar.separatorSize", new DimensionUIResource(10, 10),
+ "ToolTip.background", new ColorUIResource(Color.white),
+ "ToolTip.border", new BorderUIResource.LineBorderUIResource(null),
+ "ToolTip.font", new FontUIResource("SansSerif", Font.PLAIN, 12),
+ "ToolTip.foreground", new ColorUIResource(Color.black),
+ "Tree.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "ESCAPE", "cancel"
+ }),
+ "Tree.background", new ColorUIResource(Color.white),
+ "Tree.changeSelectionWithFocus", Boolean.TRUE,
+ // XXX Don't use gif
+ "Tree.closedIcon", new IconUIResource(new ImageIcon("icons/TreeClosed.gif")),
+ "Tree.drawsFocusBorderAroundIcon", Boolean.FALSE,
+ "Tree.editorBorder", new BorderUIResource.LineBorderUIResource(null),
+ "Tree.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ "shift PAGE_DOWN", "scrollDownExtendSelection",
+ "PAGE_DOWN", "scrollDownChangeSelection",
+ "END", "selectLast",
+ "ctrl KP_UP", "selectPreviousChangeLead",
+ "shift END", "selectLastExtendSelection",
+ "HOME", "selectFirst",
+ "ctrl END", "selectLastChangeLead",
+ "ctrl /", "selectAll",
+ "LEFT", "selectParent",
+ "shift HOME", "selectFirstExtendSelection",
+ "UP", "selectPrevious",
+ "ctrl KP_DOWN", "selectNextChangeLead",
+ "RIGHT", "selectChild",
+ "ctrl HOME", "selectFirstChangeLead",
+ "DOWN", "selectNext",
+ "ctrl KP_LEFT", "scrollLeft",
+ "shift UP", "selectPreviousExtendSelection",
+ "F2", "startEditing",
+ "ctrl LEFT", "scrollLeft",
+ "ctrl KP_RIGHT","scrollRight",
+ "ctrl UP", "selectPreviousChangeLead",
+ "shift DOWN", "selectNextExtendSelection",
+ "ENTER", "toggle",
+ "KP_UP", "selectPrevious",
+ "KP_DOWN", "selectNext",
+ "ctrl RIGHT", "scrollRight",
+ "KP_LEFT", "selectParent",
+ "KP_RIGHT", "selectChild",
+ "ctrl DOWN", "selectNextChangeLead",
+ "ctrl A", "selectAll",
+ "shift KP_UP", "selectPreviousExtendSelection",
+ "shift KP_DOWN","selectNextExtendSelection",
+ "ctrl SPACE", "toggleSelectionPreserveAnchor",
+ "ctrl shift PAGE_UP", "scrollUpExtendSelection",
+ "ctrl \\", "clearSelection",
+ "shift SPACE", "extendSelection",
+ "ctrl PAGE_UP", "scrollUpChangeLead",
+ "shift PAGE_UP","scrollUpExtendSelection",
+ "SPACE", "toggleSelectionPreserveAnchor",
+ "ctrl shift PAGE_DOWN", "scrollDownExtendSelection",
+ "PAGE_UP", "scrollUpChangeSelection",
+ "ctrl PAGE_DOWN", "scrollDownChangeLead"
+ }),
+ "Tree.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ "Tree.foreground", new ColorUIResource(Color.black),
+ "Tree.hash", new ColorUIResource(Color.gray),
+ // XXX Don't use gif
+ "Tree.leafIcon", new IconUIResource(new ImageIcon("icons/TreeLeaf.gif")),
+ "Tree.leftChildIndent", new Integer(7),
+ // XXX Don't use gif
+ "Tree.openIcon", new IconUIResource(new ImageIcon("icons/TreeOpen.gif")),
+ "Tree.rightChildIndent", new Integer(13),
+ "Tree.rowHeight", new Integer(16),
+ "Tree.scrollsOnExpand", Boolean.TRUE,
+ "Tree.selectionBackground", new ColorUIResource(0, 0, 128),
+ "Tree.selectionBorderColor", new ColorUIResource(Color.black),
+ "Tree.selectionForeground", new ColorUIResource(Color.white),
+ "Tree.textBackground", new ColorUIResource(Color.lightGray),
+ "Tree.textForeground", new ColorUIResource(Color.black),
+ "Viewport.background", new ColorUIResource(Color.lightGray),
+ "Viewport.font", new FontUIResource("Dialog", Font.PLAIN, 12),
+ };
+ defaults.putDefaults(uiDefaults);
+ }
+} // class BasicLookAndFeel
diff --git a/libjava/javax/swing/plaf/basic/BasicOptionPaneUI.java b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI.java
new file mode 100644
index 00000000000..bfb6cbadfdc
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicOptionPaneUI.java
@@ -0,0 +1,103 @@
+package javax.swing.plaf.basic;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.plaf.*;
+import javax.accessibility.*;
+
+public class BasicOptionPaneUI extends OptionPaneUI
+{
+ JOptionPane pane;
+
+ BasicOptionPaneUI()
+ {
+ }
+
+ public static ComponentUI createUI(JComponent x)
+ {
+ return new BasicOptionPaneUI();
+ }
+
+ public void installUI(JComponent c)
+ {
+ super.installUI(c);
+ pane = (JOptionPane)c;
+
+ System.out.println(" -------------: " + pane);
+
+ JLabel message = pane.msg != null ? new JLabel((String)pane.msg) : null;
+ JButton ok_button = new JButton("Ok");
+
+ ok_button.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent a)
+ {
+ System.out.println("ACTION ---> " + a);
+ // pane.dialog.dispose();
+
+ if (pane.dialog.isModal())
+ {
+ System.out.println("modal dialog !!");
+ pane.dialog.setModal(false);
+ }
+ pane.dialog.setVisible(false);
+ }
+ });
+
+ if (pane.args != null)
+ {
+ for (int i=0; i<pane.args.length; i++)
+ {
+ Object o = pane.args[i];
+ if (o != null)
+ {
+ if (o instanceof String)
+ {
+ String s = (String) o;
+ JLabel m = new JLabel(s);
+ pane.add(m);
+ }
+ else if (o instanceof Component)
+ {
+ Component com = (Component) o;
+ pane.add(com);
+ }
+ else
+ {
+ System.out.println("UNRECOGNIZED ARG: " + o);
+ }
+ }
+ }
+ }
+
+ pane.add(message);
+ pane.add(ok_button);
+ }
+
+ Dimension getMinimumOptionPaneSize()
+ {
+ return new Dimension(300,100);
+ }
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ if (c == null)
+ return getMinimumOptionPaneSize();
+
+ if (c != pane)
+ return null;
+
+ LayoutManager l = c.getLayout();
+ if (l == null)
+ return getMinimumOptionPaneSize();
+
+ Dimension d1 = l.preferredLayoutSize(c);
+ Dimension d2 = getMinimumOptionPaneSize();
+
+ d1.width = Math.max(d1.width, d2.width);
+ d1.height = Math.max(d1.height, d2.height);
+
+ return d2;
+ }
+}
diff --git a/libjava/javax/swing/plaf/basic/BasicPanelUI.java b/libjava/javax/swing/plaf/basic/BasicPanelUI.java
new file mode 100644
index 00000000000..5976bd2a1f2
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicPanelUI.java
@@ -0,0 +1,21 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.*;
+import javax.swing.plaf.*;
+import java.awt.*;
+
+
+public class BasicPanelUI extends PanelUI
+{
+ int gap = 3;
+
+ public static ComponentUI createUI(JComponent x)
+ {
+ return new BasicPanelUI();
+ }
+
+ public void installUI(JComponent c)
+ {
+ super.installUI(c);
+ }
+}
diff --git a/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java b/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java
new file mode 100644
index 00000000000..4f8f9289828
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java
@@ -0,0 +1,127 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.*;
+import javax.swing.plaf.*;
+import java.awt.*;
+
+
+public class BasicRadioButtonUI extends BasicToggleButtonUI
+{
+ int large_circle_width = 20;
+ int circle_width = large_circle_width - 8; // FIXME: sun == ?
+
+ public static ComponentUI createUI(final JComponent c) {
+ return new BasicRadioButtonUI();
+ }
+
+
+ public void installUI(final JComponent c) {
+ super.installUI(c);
+ }
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ AbstractButton b = (AbstractButton)c;
+ Dimension d = BasicGraphicsUtils.getPreferredSize(b,
+ gap,
+ b.getText(),
+ b.getIcon(),
+ b.getVerticalAlignment(),
+ b.getHorizontalAlignment(),
+ b.getHorizontalTextPosition(),
+ b.getVerticalTextPosition());
+
+ // and add a little something for the circles:
+
+ d.width += large_circle_width;
+ d.height = Math.max(large_circle_width, d.height);
+
+ //System.out.println("^^^^^^^^^^^^^^^^^^^^^^ BASIC-PREF="+d + ",T="+b.text);
+ return d;
+ }
+
+ protected void paintFocus(Graphics g,
+ JComponent c,
+ Rectangle vr,
+ Rectangle tr,
+ Rectangle ir)
+ {
+ }
+
+ protected void paintIcon(Graphics g,
+ JComponent c,
+ Rectangle iconRect)
+ {
+ }
+
+ protected void paintButtonPressed(Graphics g,
+ JComponent b)
+ {
+ Dimension size = b.getSize();
+
+ paintButtonNormal(g, b);
+
+ int x = gap;
+ int y = gap;
+
+ int diffp = 2;
+ int diff = 3;
+
+ g.setColor(textColor);
+ g.fillArc(x+diffp, y+diffp,
+ circle_width-diff, circle_width-diff,
+ 0, 360);
+ }
+
+ protected void paintButtonNormal(Graphics g,
+ JComponent c)
+ {
+ AbstractButton b = (AbstractButton) c;
+
+ Dimension size = b.getSize();
+
+ g.setColor(normalBackgroundColor);
+ g.fillRect(1,1,size.width-2, size.height-2);
+
+ int x = gap;
+ int y = gap;
+
+ g.setColor(pressedBackgroundColor);
+ g.drawArc(x, y,
+ circle_width, circle_width,
+ 0, 360);
+
+ g.setColor(new Color(255,255,255));
+ g.drawArc(x, y,
+ circle_width+1, circle_width+1,
+ 145, 160);
+ }
+
+ protected void paintText(Graphics g,
+ JComponent c,
+ Rectangle textRect,
+ String text)
+ {
+ // AbstractButton b = (AbstractButton) c;
+
+ //System.out.println("drawing string: " + text + ", " + c.isEnabled());
+
+ g.setColor(c.isEnabled() ? textColor : disabledTextColor);
+
+ BasicGraphicsUtils.drawString(g,
+ text,
+ 0,
+ textRect.x + circle_width + gap,
+ textRect.y);
+ }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicScrollPaneUI.java b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI.java
new file mode 100644
index 00000000000..8d50b046e2e
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicScrollPaneUI.java
@@ -0,0 +1,66 @@
+package javax.swing.plaf.basic;
+
+
+import javax.swing.plaf.*;
+import javax.swing.*;
+import java.awt.*;
+
+
+
+public class BasicScrollPaneUI extends ScrollPaneUI
+{
+ int min_w = 50;
+ int min_h = 50;
+
+ public static ComponentUI createUI(final JComponent c)
+ {
+ return new BasicScrollPaneUI();
+ }
+
+
+ public void installUI(final JComponent c)
+ {
+ super.installUI(c);
+ }
+
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ JScrollPane p = (JScrollPane ) c;
+
+ Dimension d = new Dimension(min_w,
+ min_h);
+
+ Dimension a = p.getViewport().getPreferredSize();
+
+ if (a != null)
+ {
+ d.width = Math.max(d.width, a.width);
+ d.height = Math.max(d.height, a.height);
+ }
+
+
+ System.out.println("BasicScrollPaneUI->preff->"+d);
+ return d;
+ }
+
+ public void paint(Graphics g, JComponent c)
+ {
+ System.out.println("BasicScrollPaneUI->paint()->"+c);
+
+ JScrollPane p = (JScrollPane ) c;
+ p.getViewport().paint(g);
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.java b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.java
new file mode 100644
index 00000000000..49328d26740
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.java
@@ -0,0 +1,64 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.*;
+import java.awt.*;
+import javax.swing.plaf.*;
+
+public class BasicTabbedPaneUI extends TabbedPaneUI
+{
+ public static ComponentUI createUI(final JComponent c)
+ {
+ return new BasicTabbedPaneUI();
+ }
+
+ public void installUI(final JComponent c)
+ {
+ super.installUI(c);
+ }
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ JTabbedPane p = (JTabbedPane) c;
+
+ Dimension d = new Dimension(50,50);
+
+ for (int i=0;i<p.getTabCount();i++)
+ {
+ Component comp = p.getComponentAt(i);
+
+ Dimension pr = comp.getPreferredSize();
+
+ d.width = Math.max(d.width, comp.getWidth());
+ d.height = Math.max(d.height, comp.getHeight());
+ }
+
+ Insets i = p.getInsets();
+
+ d.width += i.left + i.right;
+ d.height += i.top + i.bottom;
+
+ int height_of_tabs = 25;
+
+ d.height += height_of_tabs;
+
+ // FIXME: should be max of panes in p
+ return d;
+ }
+
+
+ public Rectangle getTabBounds(JTabbedPane pane, int index)
+ {
+ return null;
+ }
+
+ public int getTabRunCount(JTabbedPane pane)
+ {
+ return 0;
+ }
+
+ public int tabForCoordinate(JTabbedPane pane, int x, int y)
+ {
+ return 0;
+ }
+}
+
diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI.java b/libjava/javax/swing/plaf/basic/BasicTextUI.java
new file mode 100644
index 00000000000..bdb6e4c3a36
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicTextUI.java
@@ -0,0 +1,126 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.text.*;
+import javax.swing.plaf.*;
+import java.awt.*;
+import javax.swing.*;
+
+public class BasicTextUI extends TextUI
+{
+ int gap = 3;
+ View view = new RootView();
+ Color textColor, disabledTextColor, normalBackgroundColor;
+ EditorKit kit = new DefaultEditorKit();
+
+ class RootView extends View
+ {
+ RootView()
+ {
+ super(null);
+ }
+ public void paint(Graphics g, Shape s)
+ {
+ if (view != null)
+ {
+ Rectangle r = s.getBounds();
+
+ view.setSize((int)r.getWidth(),
+ (int)r.getHeight());
+ view.paint(g, s);
+ }
+ }
+ }
+
+ public BasicTextUI()
+ {
+ }
+
+ public static ComponentUI createUI(final JComponent c)
+ {
+ return new BasicTextUI();
+ }
+
+
+ public void installUI(final JComponent c)
+ {
+ super.installUI(c);
+
+ textColor = new Color(0,0,0);
+ disabledTextColor = new Color(130, 130, 130);
+ normalBackgroundColor = new Color(192,192,192);
+ }
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ JTextComponent b = (JTextComponent) c;
+
+ View v = getRootView(b);
+
+ float w = v.getPreferredSpan(View.X_AXIS);
+ float h = v.getPreferredSpan(View.Y_AXIS);
+
+ return new Dimension((int)w, (int) h);
+ }
+
+
+ public void paint(Graphics g, JComponent c)
+ {
+ // view.paint(
+ }
+
+ public void damageRange(JTextComponent t, int p0, int p1)
+ {
+ damageRange(t, p0, p1, null, null);
+ }
+
+ public void damageRange(JTextComponent t,
+ int p0, int p1,
+ Position.Bias firstBias,
+ Position.Bias secondBias)
+ {
+ }
+
+ public EditorKit getEditorKit(JTextComponent t)
+ {
+ return kit;
+ }
+
+ public int getNextVisualPositionFrom(JTextComponent t,
+ int pos,
+ Position.Bias b,
+ int direction,
+ Position.Bias[] biasRet)
+ {
+ return 0;
+ }
+
+ public View getRootView(JTextComponent t)
+ {
+ return view;
+ }
+
+ public Rectangle modelToView(JTextComponent t, int pos)
+ {
+ return modelToView(t, pos, null);
+ }
+
+ public Rectangle modelToView(JTextComponent t, int pos, Position.Bias bias)
+ {
+ return null;
+ }
+
+ public int viewToModel(JTextComponent t, Point pt)
+ {
+ return viewToModel(t, pt, null);
+ }
+
+ public int viewToModel(JTextComponent t, Point pt, Position.Bias[] biasReturn)
+ {
+ return 0;
+ }
+}
+
+
+
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java b/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java
new file mode 100644
index 00000000000..507d61732e4
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java
@@ -0,0 +1,90 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.*;
+import javax.swing.plaf.*;
+import java.awt.*;
+
+
+public class BasicToggleButtonUI extends BasicButtonUI
+{
+
+ public static ComponentUI createUI(final JComponent c) {
+ return new BasicToggleButtonUI();
+ }
+
+
+ public void installUI(final JComponent c) {
+ super.installUI(c);
+ }
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ AbstractButton b = (AbstractButton)c;
+ Dimension d = BasicGraphicsUtils.getPreferredSize(b,
+ gap,
+ b.getText(),
+ b.getIcon(),
+ b.getVerticalAlignment(),
+ b.getHorizontalAlignment(),
+ b.getHorizontalTextPosition(),
+ b.getVerticalTextPosition());
+
+ //System.out.println("^^^^^^^^^^^^^^^^^^^^^^ BASIC-PREF="+d + ",T="+b.text);
+ return d;
+ }
+
+ protected void paintFocus(Graphics g,
+ JComponent c,
+ Rectangle vr,
+ Rectangle tr,
+ Rectangle ir)
+ {
+ }
+
+ protected void paintIcon(Graphics g,
+ JComponent c,
+ Rectangle iconRect)
+ {
+ }
+
+ protected void paintButtonPressed(Graphics g,
+ JComponent b)
+ {
+ Dimension size = b.getSize();
+
+ g.setColor(pressedBackgroundColor);
+ g.fillRect(1,1,size.width-2, size.height-2);
+
+ }
+
+ protected void paintButtonNormal(Graphics g,
+ JComponent b)
+ {
+ Dimension size = b.getSize();
+
+ g.setColor(normalBackgroundColor);
+ g.fillRect(1,1,size.width-2, size.height-2);
+
+ }
+ protected void paintText(Graphics g,
+ JComponent c,
+ Rectangle textRect,
+ String text)
+ {
+ // AbstractButton b = (AbstractButton) c;
+
+ // System.out.println("drawing string: " + text + ", at:" + textRect);
+
+ g.setColor(textColor);
+
+ BasicGraphicsUtils.drawString(g,
+ text,
+ 0,
+ textRect.x,
+ textRect.y);
+ }
+}
+
+
+
+
diff --git a/libjava/javax/swing/plaf/basic/BasicTreeUI.java b/libjava/javax/swing/plaf/basic/BasicTreeUI.java
new file mode 100644
index 00000000000..1f4f2a8b2d4
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicTreeUI.java
@@ -0,0 +1,7 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.plaf.*;
+
+public class BasicTreeUI extends TreeUI
+{
+}
diff --git a/libjava/javax/swing/plaf/basic/BasicViewportUI.java b/libjava/javax/swing/plaf/basic/BasicViewportUI.java
new file mode 100644
index 00000000000..1e592003773
--- /dev/null
+++ b/libjava/javax/swing/plaf/basic/BasicViewportUI.java
@@ -0,0 +1,33 @@
+package javax.swing.plaf.basic;
+
+import javax.swing.plaf.*;
+import javax.swing.*;
+import java.awt.*;
+
+public class BasicViewportUI extends ViewportUI
+{
+
+ public static ComponentUI createUI(final JComponent c)
+ {
+ return new BasicViewportUI();
+ }
+
+
+ public void installUI(final JComponent c)
+ {
+ super.installUI(c);
+ }
+
+
+ public Dimension getPreferredSize(JComponent c)
+ {
+ Dimension d = new Dimension(100,100);
+ System.out.println("BasicViewportUI->preff->"+d);
+ return d;
+ }
+
+ public void paint(Graphics g, JComponent c)
+ {
+ System.out.println("BasicViewportUI->paint->"+c);
+ }
+}