diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-08-09 04:26:17 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-08-09 04:26:17 +0000 |
commit | 71946bc3b406beb3d1fb9b447204e4236d645c43 (patch) | |
tree | cdf9958b411887bead2263ea8ef0bdfc8eae6319 /libjava/javax/swing/plaf/basic | |
parent | 0fc014c9ce8232f14be66144bf5a4c08a3e5ffe7 (diff) | |
download | gcc-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')
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); + } +} |