diff options
author | Roman Kennke <roman@kennke.org> | 2005-04-25 19:36:43 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2005-04-25 19:36:43 +0000 |
commit | 8efae6bbfa04f662589bbfc64dbbe68935f973d2 (patch) | |
tree | 6a73f30784c260b998e5fb2e421b3c002d8ff608 /libjava/javax | |
parent | 9f62c3e3ed53732a8fe755ad5109c1a6ed25bb0c (diff) | |
download | gcc-8efae6bbfa04f662589bbfc64dbbe68935f973d2.zip gcc-8efae6bbfa04f662589bbfc64dbbe68935f973d2.tar.gz gcc-8efae6bbfa04f662589bbfc64dbbe68935f973d2.tar.bz2 |
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicScrollBarUI.java
(initDefaults): Initialize thumb*Color fields correctly.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/text/GapContent.java:
Added API comments.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/metal/MetalBorders.java:
Added inner class ScrollPaneBorder.
* javax/swing/plaf/metal/MetalLookAndFeel.java
(initComponentDefaults): Added default for "ScrollPane.border"
to use the new ScrollPaneBorder.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/text/AbstractDocument.java:
Added FIXME comments. This class still has to be
implemented thread-safe.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/tree/DefaultTreeSelectionModel.java
(DefaultTreeSelectionModel): Initialize listenerList here.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/metal/MetalTextFieldUI.java
(createUI): Return one instance per Component instead of a
shared instance.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/text/Document.java:
Added API documentation comments.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/text/AbstractDocument.java
(getDocumentProperties): Implemented.
(setDocumentProperties): Implemented.
(getProperty): Implemented.
(putProperty): Implemented.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/BoxLayout
(preferredLayoutSize): Fixed computation so that it correctly
adds the top and bottom insets of the container.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicMenuItemUI.java
(paintText): Make use of the 'selectionForeground' UI default
for text painting.
2005-04-25 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicLookAndFeel.java
(initSystemColorDefaults): Modified colors to match the
BasicLookAndFeel in the reference implementation.
(initComponentDefaults): Likewise.
From-SVN: r98733
Diffstat (limited to 'libjava/javax')
-rw-r--r-- | libjava/javax/swing/BoxLayout.java | 10 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicLookAndFeel.java | 399 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicMenuItemUI.java | 12 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/basic/BasicScrollBarUI.java | 5 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/metal/MetalBorders.java | 76 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/metal/MetalLookAndFeel.java | 1 | ||||
-rw-r--r-- | libjava/javax/swing/plaf/metal/MetalTextFieldUI.java | 22 | ||||
-rw-r--r-- | libjava/javax/swing/text/AbstractDocument.java | 26 | ||||
-rw-r--r-- | libjava/javax/swing/text/Document.java | 136 | ||||
-rw-r--r-- | libjava/javax/swing/text/GapContent.java | 76 | ||||
-rw-r--r-- | libjava/javax/swing/text/StyleConstants.java | 8 | ||||
-rw-r--r-- | libjava/javax/swing/tree/DefaultTreeSelectionModel.java | 5 |
12 files changed, 585 insertions, 191 deletions
diff --git a/libjava/javax/swing/BoxLayout.java b/libjava/javax/swing/BoxLayout.java index 384eb69..1edffe1 100644 --- a/libjava/javax/swing/BoxLayout.java +++ b/libjava/javax/swing/BoxLayout.java @@ -148,13 +148,14 @@ public class BoxLayout implements LayoutManager2, Serializable throw new AWTError("invalid parent"); Insets insets = parent.getInsets(); - int x = insets.left + insets.right; - int y = insets.bottom + insets.top; + int x = 0; + int y = 0; Component[] children = parent.getComponents(); if (isHorizontalIn(parent)) { + x = insets.left + insets.right; // sum up preferred widths of components, find maximum of preferred // heights for (int index = 0; index < children.length; index++) @@ -164,9 +165,11 @@ public class BoxLayout implements LayoutManager2, Serializable x += sz.width; y = Math.max(y, sz.height); } + y += insets.bottom + insets.top; } else { + y = insets.top + insets.bottom; // sum up preferred heights of components, find maximum of // preferred widths for (int index = 0; index < children.length; index++) @@ -176,8 +179,9 @@ public class BoxLayout implements LayoutManager2, Serializable y += sz.height; x = Math.max(x, sz.width); } + x += insets.left + insets.right; } - + return new Dimension(x, y); } diff --git a/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java b/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java index 562f001..958ce27 100644 --- a/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java +++ b/libjava/javax/swing/plaf/basic/BasicLookAndFeel.java @@ -159,34 +159,39 @@ public abstract class BasicLookAndFeel extends LookAndFeel */ protected void initSystemColorDefaults(UIDefaults defaults) { + Color highLight = new Color(249, 247, 246); + Color light = new Color(239, 235, 231); + Color shadow = new Color(139, 136, 134); + Color darkShadow = new Color(16, 16, 16); + 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), + "control", new ColorUIResource(light), + "controlDkShadow", new ColorUIResource(shadow), + "controlHighlight", new ColorUIResource(highLight), + "controlLtHighlight", new ColorUIResource(highLight), + "controlShadow", new ColorUIResource(shadow), + "controlText", new ColorUIResource(darkShadow), "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), + "info", new ColorUIResource(light), + "infoText", new ColorUIResource(darkShadow), + "menu", new ColorUIResource(light), + "menuText", new ColorUIResource(darkShadow), + "scrollbar", new ColorUIResource(light), + "text", new ColorUIResource(Color.white), + "textHighlight", new ColorUIResource(Color.black), "textHighlightText", new ColorUIResource(Color.white), "textInactiveText", new ColorUIResource(Color.gray), "textText", new ColorUIResource(Color.black), - "window", new ColorUIResource(Color.white), + "window", new ColorUIResource(light), "windowBorder", new ColorUIResource(Color.black), - "windowText", new ColorUIResource(Color.black) + "windowText", new ColorUIResource(darkShadow) }; defaults.putDefaults(uiDefaults); } @@ -232,18 +237,16 @@ public abstract class BasicLookAndFeel extends LookAndFeel { Object[] uiDefaults; - // The default Look and Feel happens to use these three purple shades - // extensively. - Color lightPurple = new Color(0xCC, 0xCC, 0xFF); - Color midPurple = new Color(0x99, 0x99, 0xCC); - Color darkPurple = new Color(0x66, 0x66, 0x99); - + Color highLight = new Color(249, 247, 246); + Color light = new Color(239, 235, 231); + Color shadow = new Color(139, 136, 134); + Color darkShadow = new Color(16, 16, 16); + uiDefaults = new Object[] { "AbstractUndoableEdit.undoText", "Undo", "AbstractUndoableEdit.redoText", "Redo", - - "Button.background", new ColorUIResource(Color.lightGray), + "Button.background", new ColorUIResource(light), "Button.border", new UIDefaults.LazyValue() { @@ -252,55 +255,52 @@ public abstract class BasicLookAndFeel extends LookAndFeel return BasicBorders.getButtonBorder(); } }, - "Button.darkShadow", new ColorUIResource(Color.darkGray), + "Button.darkShadow", new ColorUIResource(shadow), "Button.focusInputMap", new UIDefaults.LazyInputMap(new Object[] { "SPACE", "pressed", "released SPACE", "released" }), - "Button.focus", midPurple, "Button.font", new FontUIResource("Dialog", Font.PLAIN, 12), - "Button.foreground", new ColorUIResource(Color.black), - "Button.highlight", new ColorUIResource(Color.white), - "Button.light", new ColorUIResource(Color.lightGray.brighter()), + "Button.foreground", new ColorUIResource(darkShadow), + "Button.highlight", new ColorUIResource(highLight), + "Button.light", new ColorUIResource(highLight), "Button.margin", new InsetsUIResource(2, 2, 2, 2), - "Button.shadow", new ColorUIResource(Color.gray), + "Button.shadow", new ColorUIResource(shadow), "Button.textIconGap", new Integer(4), "Button.textShiftOffset", new Integer(0), - "CheckBox.background", new ColorUIResource(Color.lightGray), + "CheckBox.background", new ColorUIResource(light), "CheckBox.border", new BorderUIResource.CompoundBorderUIResource(null, null), - "CheckBox.darkShadow", new ColorUIResource(Color.darkGray), "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.highlight", new ColorUIResource(Color.white), + "CheckBox.foreground", new ColorUIResource(darkShadow), "CheckBox.icon", BasicIconFactory.getCheckBoxIcon(), - "CheckBox.light", new ColorUIResource(Color.lightGray.brighter()), "CheckBox.margin",new InsetsUIResource(2, 2, 2, 2), - "CheckBox.shadow", new ColorUIResource(Color.gray), "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.acceleratorForeground", + new ColorUIResource(darkShadow), + "CheckBoxMenuItem.acceleratorSelectionForeground", + new ColorUIResource(Color.white), "CheckBoxMenuItem.arrowIcon", BasicIconFactory.getMenuItemArrowIcon(), - "CheckBoxMenuItem.background", new ColorUIResource(Color.lightGray), + "CheckBoxMenuItem.background", new ColorUIResource(light), "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.foreground", new ColorUIResource(darkShadow), "CheckBoxMenuItem.margin", new InsetsUIResource(2, 2, 2, 2), - "CheckBoxMenuItem.selectionBackground", new ColorUIResource(lightPurple), - "CheckBoxMenuItem.selectionForeground", new ColorUIResource(Color.black), - "ColorChooser.background", new ColorUIResource(Color.lightGray), + "CheckBoxMenuItem.selectionBackground", new ColorUIResource(Color.black), + "CheckBoxMenuItem.selectionForeground", new ColorUIResource(Color.white), + "ColorChooser.background", new ColorUIResource(light), "ColorChooser.cancelText", "Cancel", "ColorChooser.font", new FontUIResource("Dialog", Font.PLAIN, 12), - "ColorChooser.foreground", new ColorUIResource(Color.black), + "ColorChooser.foreground", new ColorUIResource(darkShadow), "ColorChooser.hsbBlueText", "B", "ColorChooser.hsbBrightnessText", "B", "ColorChooser.hsbGreenText", "G", @@ -319,7 +319,7 @@ public abstract class BasicLookAndFeel extends LookAndFeel "ColorChooser.rgbRedMnemonic", new Integer(82), "ColorChooser.rgbRedText", "Red", "ColorChooser.sampleText", "Sample Text Sample Text", - "ColorChooser.swatchesDefaultRecentColor", new ColorUIResource(Color.lightGray), + "ColorChooser.swatchesDefaultRecentColor", new ColorUIResource(light), "ColorChooser.swatchesNameText", "Swatches", "ColorChooser.swatchesRecentSwatchSize", new Dimension(10, 10), "ColorChooser.swatchesRecentText", "Recent:", @@ -331,13 +331,17 @@ public abstract class BasicLookAndFeel extends LookAndFeel "HOME", "homePassThrough", "END", "endPassThrough" }), - "ComboBox.background", new ColorUIResource(Color.white), - "ComboBox.disabledBackground", new ColorUIResource(Color.lightGray), + "ComboBox.background", new ColorUIResource(light), + "ComboBox.buttonBackground", new ColorUIResource(light), + "ComboBox.buttonDarkShadow", new ColorUIResource(shadow), + "ComboBox.buttonHighlight", new ColorUIResource(highLight), + "ComboBox.buttonShadow", new ColorUIResource(shadow), + "ComboBox.disabledBackground", new ColorUIResource(light), "ComboBox.disabledForeground", new ColorUIResource(Color.gray), "ComboBox.font", new FontUIResource("SansSerif", Font.PLAIN, 12), "ComboBox.foreground", new ColorUIResource(Color.black), - "ComboBox.selectionBackground", new ColorUIResource(lightPurple), - "ComboBox.selectionForeground", new ColorUIResource(Color.black), + "ComboBox.selectionBackground", new ColorUIResource(Color.black), + "ComboBox.selectionForeground", new ColorUIResource(Color.white), "Desktop.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] { "KP_LEFT", "left", "KP_RIGHT", "right", @@ -359,13 +363,13 @@ public abstract class BasicLookAndFeel extends LookAndFeel "ctrl F10", "maximize", "ctrl alt shift F6","selectPreviousFrame" }), - "Desktop.background", new ColorUIResource(175, 163, 236), + "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.caretForeground", new ColorUIResource(Color.black), "EditorPane.font", new FontUIResource("Serif", Font.PLAIN, 12), "EditorPane.foreground", new ColorUIResource(Color.black), "EditorPane.inactiveForeground", new ColorUIResource(Color.gray), @@ -384,7 +388,7 @@ public abstract class BasicLookAndFeel extends LookAndFeel 0), "insert-tab") }, "EditorPane.margin", new InsetsUIResource(3, 3, 3, 3), - "EditorPane.selectionBackground", new ColorUIResource(Color.lightGray), + "EditorPane.selectionBackground", new ColorUIResource(Color.black), "EditorPane.selectionForeground", new ColorUIResource(Color.white), "FileChooser.acceptAllFileFilterText", "All Files (*.*)", "FileChooser.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] { @@ -430,18 +434,33 @@ public abstract class BasicLookAndFeel extends LookAndFeel // XXX Don't use gif "FileView.hardDriveIcon", new IconUIResource(new ImageIcon("icons/HardDrive.gif")), "FocusManagerClassName", "TODO", + "FormattedTextField.background", new ColorUIResource(light), + "FormattedTextField.caretForeground", new ColorUIResource(Color.black), + "FormattedTextField.foreground", new ColorUIResource(Color.black), + "FormattedTextField.inactiveBackground", new ColorUIResource(light), + "FormattedTextField.inactiveForeground", new ColorUIResource(Color.gray), + "FormattedTextField.selectionBackground", + new ColorUIResource(Color.black), + "FormattedTextField.selectionForeground", + new ColorUIResource(Color.white), "FormView.resetButtonText", "Reset", "FormView.submitButtonText", "Submit Query", - "InternalFrame.activeTitleBackground", new ColorUIResource(162, 167, 241), - "InternalFrame.activeTitleForeground", new ColorUIResource(Color.black), - "InternalFrame.border", new BorderUIResource.CompoundBorderUIResource(null, - null), + "InternalFrame.activeTitleBackground", new ColorUIResource(0, 0, 128), + "InternalFrame.activeTitleForeground", new ColorUIResource(Color.white), + "InternalFrame.border", + new BorderUIResource.CompoundBorderUIResource(null, null), + "InternalFrame.borderColor", new ColorUIResource(light), + "InternalFrame.borderDarkShadow", new ColorUIResource(shadow), + "InternalFrame.borderHighlight", new ColorUIResource(highLight), + "InternalFrame.borderLight", new ColorUIResource(light), + "InternalFrame.borderShadow", new ColorUIResource(shadow), "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.lightGray), - "InternalFrame.inactiveTitleForeground", new ColorUIResource(Color.black), + "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), @@ -450,12 +469,12 @@ public abstract class BasicLookAndFeel extends LookAndFeel "ctrl SPACE", "showSystemMenu", "ESCAPE", "showSystemMenu" }, - "Label.background", new ColorUIResource(Color.lightGray), + "Label.background", new ColorUIResource(light), "Label.disabledForeground", new ColorUIResource(Color.white), - "Label.disabledShadow", new ColorUIResource(Color.gray), + "Label.disabledShadow", new ColorUIResource(shadow), "Label.font", new FontUIResource("Dialog", Font.PLAIN, 12), - "Label.foreground", new ColorUIResource(Color.black), - "List.background", new ColorUIResource(Color.white), + "Label.foreground", new ColorUIResource(darkShadow), + "List.background", new ColorUIResource(light), "List.border", new BasicBorders.MarginBorder(), "List.focusInputMap", new UIDefaults.LazyInputMap(new Object[] { "PAGE_UP", "scrollUp", @@ -477,20 +496,20 @@ public abstract class BasicLookAndFeel extends LookAndFeel "shift PAGE_UP","scrollUpExtendSelection", "KP_DOWN", "selectNextRow" }), - "List.foreground", new ColorUIResource(Color.black), - "List.selectionBackground", new ColorUIResource(0xCC, 0xCC, 0xFF), - "List.selectionForeground", new ColorUIResource(Color.black), + "List.foreground", new ColorUIResource(darkShadow), + "List.selectionBackground", new ColorUIResource(Color.black), + "List.selectionForeground", new ColorUIResource(Color.white), "Menu.acceleratorFont", new FontUIResource("Dialog", Font.PLAIN, 12), - "Menu.acceleratorForeground", new ColorUIResource(Color.black), + "Menu.acceleratorForeground", new ColorUIResource(darkShadow), "Menu.acceleratorSelectionForeground", new ColorUIResource(Color.white), "Menu.arrowIcon", BasicIconFactory.getMenuArrowIcon(), - "Menu.background", new ColorUIResource(Color.lightGray), + "Menu.background", new ColorUIResource(light), "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.foreground", new ColorUIResource(darkShadow), "Menu.margin", new InsetsUIResource(2, 2, 2, 2), "Menu.selectedWindowInputMapBindings", new Object[] { "ESCAPE", "cancel", @@ -505,115 +524,130 @@ public abstract class BasicLookAndFeel extends LookAndFeel "ENTER", "return", "SPACE", "return" }, - "Menu.selectionBackground", new ColorUIResource(lightPurple), - "Menu.selectionForeground", new ColorUIResource(Color.black), - "MenuBar.background", new ColorUIResource(Color.lightGray), + "Menu.selectionBackground", new ColorUIResource(Color.black), + "Menu.selectionForeground", new ColorUIResource(Color.white), + "MenuBar.background", new ColorUIResource(light), "MenuBar.border", new BasicBorders.MenuBarBorder(null, null), "MenuBar.font", new FontUIResource("Dialog", Font.PLAIN, 12), - "MenuBar.foreground", new ColorUIResource(Color.black), + "MenuBar.foreground", new ColorUIResource(darkShadow), + "MenuBar.highlight", new ColorUIResource(highLight), + "MenuBar.shadow", new ColorUIResource(shadow), "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.acceleratorForeground", new ColorUIResource(darkShadow), + "MenuItem.acceleratorSelectionForeground", + new ColorUIResource(Color.white), "MenuItem.arrowIcon", BasicIconFactory.getMenuItemArrowIcon(), - "MenuItem.background", new ColorUIResource(Color.lightGray), + "MenuItem.background", new ColorUIResource(light), "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.foreground", new ColorUIResource(darkShadow), "MenuItem.margin", new InsetsUIResource(2, 2, 2, 2), - "MenuItem.selectionBackground", new ColorUIResource(lightPurple), - "MenuItem.selectionForeground", new ColorUIResource(Color.black), - "OptionPane.background", new ColorUIResource(Color.lightGray), - "OptionPane.border", new BorderUIResource.EmptyBorderUIResource(0, 0, 0, 0), - "OptionPane.buttonAreaBorder", new BorderUIResource.EmptyBorderUIResource(0, 0, 0, 0), + "MenuItem.selectionBackground", new ColorUIResource(Color.black), + "MenuItem.selectionForeground", new ColorUIResource(Color.white), + "OptionPane.background", new ColorUIResource(light), + "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.errorIcon", + new IconUIResource(new ImageIcon("icons/Error.gif")), "OptionPane.font", new FontUIResource("Dialog", Font.PLAIN, 12), - "OptionPane.foreground", new ColorUIResource(Color.black), + "OptionPane.foreground", new ColorUIResource(darkShadow), // 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.informationIcon", + new IconUIResource(new ImageIcon("icons/Inform.gif")), + "OptionPane.messageAreaBorder", + new BorderUIResource.EmptyBorderUIResource(0, 0, 0, 0), + "OptionPane.messageForeground", new ColorUIResource(darkShadow), "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")), + "OptionPane.questionIcon", + new IconUIResource(new ImageIcon("icons/Question.gif")), // XXX Don't use gif - "OptionPane.warningIcon", new IconUIResource(new ImageIcon("icons/Warn.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.background", new ColorUIResource(light), "Panel.font", new FontUIResource("Dialog", Font.PLAIN, 12), "Panel.foreground", new ColorUIResource(Color.black), - "PasswordField.background", new ColorUIResource(Color.white), + "PasswordField.background", new ColorUIResource(light), "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.inactiveBackground", new ColorUIResource(light), "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(lightPurple), - "PasswordField.selectionForeground", new ColorUIResource(Color.black), - "PopupMenu.background", new ColorUIResource(Color.lightGray), + "PasswordField.selectionBackground", new ColorUIResource(Color.black), + "PasswordField.selectionForeground", new ColorUIResource(Color.white), + "PopupMenu.background", new ColorUIResource(light), "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), + "PopupMenu.foreground", new ColorUIResource(darkShadow), + "ProgressBar.background", new ColorUIResource(light), "ProgressBar.border", new BorderUIResource.LineBorderUIResource(Color.darkGray), "ProgressBar.cellLength", new Integer(1), "ProgressBar.cellSpacing", new Integer(0), "ProgressBar.font", new FontUIResource("Dialog", Font.PLAIN, 12), - "ProgressBar.foreground", new ColorUIResource(midPurple), - "ProgressBar.selectionBackground", new ColorUIResource(lightPurple), - "ProgressBar.selectionForeground", new ColorUIResource(Color.lightGray), + "ProgressBar.foreground", new ColorUIResource(Color.black), + "ProgressBar.selectionBackground", new ColorUIResource(Color.black), + "ProgressBar.selectionForeground", new ColorUIResource(light), "ProgressBar.repaintInterval", new Integer(250), "ProgressBar.cycleTime", new Integer(6000), - "RadioButton.background", new ColorUIResource(Color.lightGray), + "RadioButton.background", new ColorUIResource(light), "RadioButton.border", new BorderUIResource.CompoundBorderUIResource(null, null), - "RadioButton.darkShadow", new ColorUIResource(Color.darkGray), + "RadioButton.darkShadow", new ColorUIResource(shadow), "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.highlight", new ColorUIResource(Color.white), + "RadioButton.foreground", new ColorUIResource(darkShadow), + "RadioButton.highlight", new ColorUIResource(highLight), "RadioButton.icon", BasicIconFactory.getRadioButtonIcon(), - "RadioButton.light", new ColorUIResource(Color.lightGray.brighter()), + "RadioButton.light", new ColorUIResource(highLight), "RadioButton.margin", new InsetsUIResource(2, 2, 2, 2), - "RadioButton.shadow", new ColorUIResource(Color.gray), + "RadioButton.shadow", new ColorUIResource(shadow), "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.acceleratorFont", + new FontUIResource("Dialog", Font.PLAIN, 12), + "RadioButtonMenuItem.acceleratorForeground", + new ColorUIResource(darkShadow), + "RadioButtonMenuItem.acceleratorSelectionForeground", + new ColorUIResource(Color.white), "RadioButtonMenuItem.arrowIcon", BasicIconFactory.getMenuItemArrowIcon(), - "RadioButtonMenuItem.background", new ColorUIResource(Color.lightGray), + "RadioButtonMenuItem.background", new ColorUIResource(light), "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.foreground", new ColorUIResource(darkShadow), "RadioButtonMenuItem.margin", new InsetsUIResource(2, 2, 2, 2), - "RadioButtonMenuItem.selectionBackground", new ColorUIResource(lightPurple), - "RadioButtonMenuItem.selectionForeground", new ColorUIResource(Color.black), + "RadioButtonMenuItem.selectionBackground", + new ColorUIResource(Color.black), + "RadioButtonMenuItem.selectionForeground", + new ColorUIResource(Color.white), "RootPane.defaultButtonWindowKeyBindings", new Object[] { "ENTER", "press", "released ENTER", "release", @@ -635,15 +669,15 @@ public abstract class BasicLookAndFeel extends LookAndFeel "DOWN", "positiveUnitIncrement", "KP_RIGHT", "negativeUnitIncrement" }), - "ScrollBar.foreground", new ColorUIResource(Color.lightGray), + "ScrollBar.foreground", new ColorUIResource(light), "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), + "ScrollBar.thumb", new ColorUIResource(light), + "ScrollBar.thumbDarkShadow", new ColorUIResource(shadow), + "ScrollBar.thumbHighlight", new ColorUIResource(highLight), + "ScrollBar.thumbShadow", new ColorUIResource(shadow), + "ScrollBar.track", new ColorUIResource(light), + "ScrollBar.trackHighlight", new ColorUIResource(shadow), "ScrollPane.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] { "PAGE_UP", "scrollUp", "KP_LEFT", "unitScrollLeft", @@ -660,16 +694,16 @@ public abstract class BasicLookAndFeel extends LookAndFeel "KP_UP", "unitScrollUp", "KP_DOWN", "unitScrollDown" }), - "ScrollPane.background", new ColorUIResource(Color.lightGray), + "ScrollPane.background", new ColorUIResource(light), "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), + "ScrollPane.foreground", new ColorUIResource(darkShadow), + "Separator.background", new ColorUIResource(highLight), + "Separator.foreground", new ColorUIResource(shadow), + "Separator.highlight", new ColorUIResource(highLight), + "Separator.shadow", new ColorUIResource(shadow), + "Slider.background", new ColorUIResource(light), + "Slider.focus", new ColorUIResource(shadow), "Slider.focusInputMap", new UIDefaults.LazyInputMap(new Object[] { "PAGE_UP", "positiveBlockIncrement", "PAGE_DOWN", "negativeBlockIncrement", @@ -685,12 +719,14 @@ public abstract class BasicLookAndFeel extends LookAndFeel "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), + "Slider.foreground", new ColorUIResource(light), + "Slider.highlight", new ColorUIResource(highLight), + "Slider.shadow", new ColorUIResource(shadow), "Slider.thumbHeight", new Integer(20), "Slider.thumbWidth", new Integer(10), "Slider.tickHeight", new Integer(12), + "Spinner.background", new ColorUIResource(light), + "Spinner.foreground", new ColorUIResource(light), "SplitPane.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] { "F6", "toggleFocus", "F8", "startResize", @@ -705,21 +741,22 @@ public abstract class BasicLookAndFeel extends LookAndFeel "DOWN", "positiveIncrement", "KP_RIGHT", "positiveIncrement" }), - "SplitPane.background", new ColorUIResource(Color.lightGray), + "SplitPane.background", new ColorUIResource(light), "SplitPane.border", new BasicBorders.SplitPaneBorder(null, null), + "SplitPane.darkShadow", new ColorUIResource(shadow), "SplitPane.dividerSize", new Integer(10), - "SplitPane.highlight", new ColorUIResource(Color.white), - "SplitPane.shadow", new ColorUIResource(Color.gray), + "SplitPane.highlight", new ColorUIResource(highLight), + "SplitPane.shadow", new ColorUIResource(shadow), "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.LIGHT_GRAY), + "TabbedPane.background", new ColorUIResource(light), "TabbedPane.contentBorderInsets", new InsetsUIResource(2, 2, 3, 3), - "TabbedPane.darkShadow", new ColorUIResource(Color.darkGray), - "TabbedPane.focus", new ColorUIResource(Color.black), + "TabbedPane.darkShadow", new ColorUIResource(shadow), + "TabbedPane.focus", new ColorUIResource(darkShadow), "TabbedPane.focusInputMap", new UIDefaults.LazyInputMap(new Object[] { "LEFT", "navigateLeft", "KP_UP", "navigateUp", @@ -733,11 +770,11 @@ public abstract class BasicLookAndFeel extends LookAndFeel "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.foreground", new ColorUIResource(darkShadow), + "TabbedPane.highlight", new ColorUIResource(highLight), + "TabbedPane.light", new ColorUIResource(highLight), "TabbedPane.selectedTabPadInsets", new InsetsUIResource(2, 2, 2, 1), - "TabbedPane.shadow", new ColorUIResource(Color.gray), + "TabbedPane.shadow", new ColorUIResource(shadow), "TabbedPane.tabbedPaneTabAreaInsets", new InsetsUIResource(3, 2, 1, 2), "TabbedPane.tabbedPaneTabInsets", new InsetsUIResource(1, 4, 1, 4), "TabbedPane.tabbedPaneContentBorderInsets", new InsetsUIResource(3, 2, 1, 2), @@ -784,21 +821,22 @@ public abstract class BasicLookAndFeel extends LookAndFeel "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(Color.white), + "Table.background", new ColorUIResource(light), + "Table.focusCellBackground", new ColorUIResource(light), + "Table.focusCellForeground", new ColorUIResource(darkShadow), + "Table.focusCellHighlightBorder", + new BorderUIResource.LineBorderUIResource(Color.white), "Table.font", new FontUIResource("Dialog", Font.PLAIN, 12), - "Table.foreground", new ColorUIResource(Color.black), + "Table.foreground", new ColorUIResource(darkShadow), "Table.gridColor", new ColorUIResource(Color.gray), "Table.scrollPaneBorder", new BorderUIResource.BevelBorderUIResource(0), - "Table.selectionBackground", new ColorUIResource(lightPurple), - "Table.selectionForeground", new ColorUIResource(Color.black), - "TableHeader.background", new ColorUIResource(Color.lightGray), + "Table.selectionBackground", new ColorUIResource(Color.black), + "Table.selectionForeground", new ColorUIResource(Color.white), + "TableHeader.background", new ColorUIResource(light), "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), + "TableHeader.foreground", new ColorUIResource(darkShadow), + "TextArea.background", new ColorUIResource(light), "TextArea.border", new BasicBorders.MarginBorder(), "TextArea.caretBlinkRate", new Integer(500), "TextArea.caretForeground", new ColorUIResource(Color.black), @@ -820,15 +858,20 @@ public abstract class BasicLookAndFeel extends LookAndFeel 0), "insert-tab") }, "TextArea.margin", new InsetsUIResource(0, 0, 0, 0), - "TextArea.selectionBackground", new ColorUIResource(lightPurple), - "TextArea.selectionForeground", new ColorUIResource(Color.black), - "TextField.background", new ColorUIResource(Color.white), + "TextArea.selectionBackground", new ColorUIResource(Color.black), + "TextArea.selectionForeground", new ColorUIResource(Color.white), + "TextField.background", new ColorUIResource(light), "TextField.border", new BasicBorders.FieldBorder(null, null, null, null), "TextField.caretBlinkRate", new Integer(500), "TextField.caretForeground", new ColorUIResource(Color.black), + "TextField.darkShadow", new ColorUIResource(shadow), "TextField.font", new FontUIResource("SansSerif", Font.PLAIN, 12), "TextField.foreground", new ColorUIResource(Color.black), + "TextField.highlight", new ColorUIResource(highLight), + "TextField.inactiveBackground", new ColorUIResource(light), "TextField.inactiveForeground", new ColorUIResource(Color.gray), + "TextField.light", new ColorUIResource(highLight), + "TextField.highlight", new ColorUIResource(light), "TextField.keyBindings", new JTextComponent.KeyBinding[] { new JTextComponent.KeyBinding(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), @@ -841,8 +884,8 @@ public abstract class BasicLookAndFeel extends LookAndFeel "selection-forward"), }, "TextField.margin", new InsetsUIResource(0, 0, 0, 0), - "TextField.selectionBackground", new ColorUIResource(lightPurple), - "TextField.selectionForeground", new ColorUIResource(Color.black), + "TextField.selectionBackground", new ColorUIResource(Color.black), + "TextField.selectionForeground", new ColorUIResource(Color.white), "TextPane.background", new ColorUIResource(Color.white), "TextPane.border", new BasicBorders.MarginBorder(), "TextPane.caretBlinkRate", new Integer(500), @@ -865,20 +908,25 @@ public abstract class BasicLookAndFeel extends LookAndFeel 0), "insert-tab") }, "TextPane.margin", new InsetsUIResource(3, 3, 3, 3), - "TextPane.selectionBackground", new ColorUIResource(Color.lightGray), + "TextPane.selectionBackground", new ColorUIResource(Color.black), "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), + "TitledBorder.titleColor", new ColorUIResource(darkShadow), + "ToggleButton.background", new ColorUIResource(light), + "ToggleButton.border", + new BorderUIResource.CompoundBorderUIResource(null, null), + "ToggleButton.darkShadow", new ColorUIResource(shadow), "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.foreground", new ColorUIResource(darkShadow), + "ToggleButton.highlight", new ColorUIResource(highLight), + "ToggleButton.light", new ColorUIResource(light), "ToggleButton.margin", new InsetsUIResource(2, 14, 2, 14), + "ToggleButton.shadow", new ColorUIResource(shadow), "ToggleButton.textIconGap", new Integer(4), "ToggleButton.textShiftOffset", new Integer(0), "ToolBar.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] { @@ -891,23 +939,27 @@ public abstract class BasicLookAndFeel extends LookAndFeel "RIGHT", "navigateRight", "KP_RIGHT", "navigateRight" }), - "ToolBar.background", new ColorUIResource(Color.lightGray), + "ToolBar.background", new ColorUIResource(light), "ToolBar.border", new BorderUIResource.EtchedBorderUIResource(), - "ToolBar.dockingBackground", new ColorUIResource(Color.lightGray), - "ToolBar.dockingForeground", new ColorUIResource(11, 30, 143), - "ToolBar.floatingBackground", new ColorUIResource(Color.lightGray), - "ToolBar.floatingForeground", new ColorUIResource(113, 171, 212), + "ToolBar.darkShadow", new ColorUIResource(shadow), + "ToolBar.dockingBackground", new ColorUIResource(light), + "ToolBar.dockingForeground", new ColorUIResource(Color.red), + "ToolBar.floatingBackground", new ColorUIResource(light), + "ToolBar.floatingForeground", new ColorUIResource(Color.darkGray), "ToolBar.font", new FontUIResource("Dialog", Font.PLAIN, 12), - "ToolBar.foreground", new ColorUIResource(Color.black), + "ToolBar.foreground", new ColorUIResource(darkShadow), + "ToolBar.highlight", new ColorUIResource(highLight), + "ToolBar.light", new ColorUIResource(highLight), "ToolBar.separatorSize", new DimensionUIResource(20, 20), - "ToolTip.background", new ColorUIResource(122, 178, 241), + "ToolBar.shadow", new ColorUIResource(shadow), + "ToolTip.background", new ColorUIResource(light), "ToolTip.border", new BorderUIResource.LineBorderUIResource(Color.lightGray), "ToolTip.font", new FontUIResource("SansSerif", Font.PLAIN, 12), - "ToolTip.foreground", new ColorUIResource(Color.black), + "ToolTip.foreground", new ColorUIResource(darkShadow), "Tree.ancestorInputMap", new UIDefaults.LazyInputMap(new Object[] { "ESCAPE", "cancel" }), - "Tree.background", new ColorUIResource(Color.white), + "Tree.background", new ColorUIResource(light), "Tree.changeSelectionWithFocus", Boolean.TRUE, "Tree.closedIcon", new IconUIResource(new ImageIcon("icons/TreeClosed.png")), "Tree.collapsedIcon", new IconUIResource(new ImageIcon("icons/TreeCollapsed.png")), @@ -967,13 +1019,14 @@ public abstract class BasicLookAndFeel extends LookAndFeel "Tree.rightChildIndent", new Integer(13), "Tree.rowHeight", new Integer(16), "Tree.scrollsOnExpand", Boolean.TRUE, - "Tree.selectionBackground", new ColorUIResource(lightPurple), + "Tree.selectionBackground", new ColorUIResource(Color.black), "Tree.selectionBorderColor", new ColorUIResource(Color.black), - "Tree.selectionForeground", new ColorUIResource(Color.black), - "Tree.textBackground", new ColorUIResource(Color.lightGray), + "Tree.selectionForeground", new ColorUIResource(Color.white), + "Tree.textBackground", new ColorUIResource(Color.white), "Tree.textForeground", new ColorUIResource(Color.black), - "Viewport.background", new ColorUIResource(Color.lightGray), - "Viewport.font", new FontUIResource("Dialog", Font.PLAIN, 12), + "Viewport.background", new ColorUIResource(light), + "Viewport.foreground", new ColorUIResource(Color.black), + "Viewport.font", new FontUIResource("Dialog", Font.PLAIN, 12) }; defaults.putDefaults(uiDefaults); } diff --git a/libjava/javax/swing/plaf/basic/BasicMenuItemUI.java b/libjava/javax/swing/plaf/basic/BasicMenuItemUI.java index ff48a74..50af23a 100644 --- a/libjava/javax/swing/plaf/basic/BasicMenuItemUI.java +++ b/libjava/javax/swing/plaf/basic/BasicMenuItemUI.java @@ -605,7 +605,17 @@ public class BasicMenuItemUI extends MenuItemUI if (text != null && ! text.equals("")) { if (menuItem.isEnabled()) - g.setColor(menuItem.getForeground()); + { + /* Menu item is considered to be highlighted when it is selected. + It is considered to be selected if menu item is inside some menu + and is armed or if it is both armed and pressed */ + if (menuItem.getModel().isArmed() + && (menuItem.getParent() instanceof MenuElement + || menuItem.getModel().isPressed())) + g.setColor(selectionForeground); + else + g.setColor(menuItem.getForeground()); + } else // FIXME: should fix this to use 'disabledForeground', but its // default value in BasicLookAndFeel is null. diff --git a/libjava/javax/swing/plaf/basic/BasicScrollBarUI.java b/libjava/javax/swing/plaf/basic/BasicScrollBarUI.java index 5dd54af..7e06067 100644 --- a/libjava/javax/swing/plaf/basic/BasicScrollBarUI.java +++ b/libjava/javax/swing/plaf/basic/BasicScrollBarUI.java @@ -818,6 +818,11 @@ public class BasicScrollBarUI extends ScrollBarUI implements LayoutManager, scrollbar.setBorder(defaults.getBorder("ScrollBar.border")); scrollbar.setOpaque(true); + thumbColor = defaults.getColor("ScrollBar.thumb"); + thumbDarkShadowColor = defaults.getColor("ScrollBar.thumbDarkShadow"); + thumbHighlightColor = defaults.getColor("ScrollBar.thumbHighlight"); + thumbLightShadowColor = defaults.getColor("ScrollBar.thumbShadow"); + maximumThumbSize = defaults.getDimension("ScrollBar.maximumThumbSize"); minimumThumbSize = defaults.getDimension("ScrollBar.minimumThumbSize"); } diff --git a/libjava/javax/swing/plaf/metal/MetalBorders.java b/libjava/javax/swing/plaf/metal/MetalBorders.java index 8b7ebec..d5b467f 100644 --- a/libjava/javax/swing/plaf/metal/MetalBorders.java +++ b/libjava/javax/swing/plaf/metal/MetalBorders.java @@ -184,6 +184,82 @@ public class MetalBorders } /** + * A border for JScrollPanes. + */ + public static class ScrollPaneBorder + extends AbstractBorder + implements UIResource + { + /** The border insets. */ + private static Insets insets = new Insets(1, 1, 2, 2); + + /** + * Constructs a new ScrollPaneBorder. + */ + public ScrollPaneBorder() + { + } + + /** + * Returns the insets of the border for the Component <code>c</code>. + * + * @param c the Component for which we return the border insets + */ + public Insets getBorderInsets(Component c) + { + return insets; + } + + /** + * Paints the border. + * + * @param c the Component for which the border is painted + * @param g the Graphics context + * @param x the X coordinate of the upper left corner of the border + * @param y the Y coordinate of the upper left corner of the border + * @param w the width of the border + * @param h the height of the border + */ + public void paintBorder(Component c, Graphics g, int x, int y, + int w, int h) + { + Color darkShadow = MetalLookAndFeel.getControlDarkShadow(); + Color shadow = MetalLookAndFeel.getControlShadow(); + Color light = MetalLookAndFeel.getWhite(); + Color middle = MetalLookAndFeel.getControl(); + + // paint top border line + g.setColor(darkShadow); + g.drawLine(x, y, x + w - 2, y); + + // paint left border line + g.drawLine(x, y, x, y + h - 2); + + // paint right inner border line + g.drawLine(x + w - 2, y, x + w - 2, y + h + 1); + + // paint bottom inner border line + g.drawLine(x + 2, y + h - 2, x + w - 2, y + h - 2); + + // draw right outer border line + g.setColor(light); + g.drawLine(x + w - 1, y, x + w - 1, y + h - 1); + + // draw bottom outer border line + g.drawLine(x, y + h - 1, x + w - 1, y + h - 1); + + // paint the lighter points + g.setColor(middle); + g.drawLine(x + w - 1, y, x + w - 1, y); + g.drawLine(x + w - 2, y + 2, x + w - 2, y + 2); + g.drawLine(x, y + h - 1, x, y + h - 1); + g.drawLine(x + 1, y + h - 2, x + 1, y + h - 2); + + } + + } + + /** * This border is used in Toolbar buttons as inner border. */ static class RolloverMarginBorder extends AbstractBorder diff --git a/libjava/javax/swing/plaf/metal/MetalLookAndFeel.java b/libjava/javax/swing/plaf/metal/MetalLookAndFeel.java index a55bc1b..edeff18 100644 --- a/libjava/javax/swing/plaf/metal/MetalLookAndFeel.java +++ b/libjava/javax/swing/plaf/metal/MetalLookAndFeel.java @@ -474,6 +474,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel "Slider.background", new ColorUIResource(getControl()), "OptionPane.background", new ColorUIResource(getControl()), "ProgressBar.background", new ColorUIResource(getControl()), + "ScrollPane.border", new MetalBorders.ScrollPaneBorder(), "TabbedPane.background", new ColorUIResource(getControl()), "Label.background", new ColorUIResource(getControl()), "Label.font", getControlTextFont(), diff --git a/libjava/javax/swing/plaf/metal/MetalTextFieldUI.java b/libjava/javax/swing/plaf/metal/MetalTextFieldUI.java index 79ae2b0..d2e9ea5 100644 --- a/libjava/javax/swing/plaf/metal/MetalTextFieldUI.java +++ b/libjava/javax/swing/plaf/metal/MetalTextFieldUI.java @@ -38,6 +38,8 @@ exception statement from your version. */ package javax.swing.plaf.metal; +import java.util.HashMap; + import javax.swing.JComponent; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.basic.BasicTextFieldUI; @@ -46,9 +48,8 @@ public class MetalTextFieldUI extends BasicTextFieldUI { - // FIXME: maybe replace by a Map of instances when this becomes stateful - /** The shared UI instance for MetalTextFieldUIs */ - private static MetalTextFieldUI instance = null; + /** The UI instances for MetalTextFieldUIs */ + private static HashMap instances = null; /** * Constructs a new instance of MetalTextFieldUI. @@ -67,8 +68,19 @@ public class MetalTextFieldUI */ public static ComponentUI createUI(JComponent component) { - if (instance == null) - instance = new MetalTextFieldUI(); + if (instances == null) + instances = new HashMap(); + + Object o = instances.get(component); + MetalTextFieldUI instance; + if (o == null) + { + instance = new MetalTextFieldUI(); + instances.put(component, instance); + } + else + instance = (MetalTextFieldUI) o; + return instance; } } diff --git a/libjava/javax/swing/text/AbstractDocument.java b/libjava/javax/swing/text/AbstractDocument.java index a2c3fa6..29be0ad 100644 --- a/libjava/javax/swing/text/AbstractDocument.java +++ b/libjava/javax/swing/text/AbstractDocument.java @@ -43,6 +43,7 @@ import java.io.Serializable; import java.util.Dictionary; import java.util.Enumeration; import java.util.EventListener; +import java.util.Hashtable; import java.util.Vector; import javax.swing.event.DocumentEvent; @@ -71,7 +72,10 @@ public abstract class AbstractDocument Content content; AttributeContext context; DocumentFilter documentFilter; - + + /** The documents properties. */ + Dictionary properties; + protected EventListenerList listenerList = new EventListenerList(); protected AbstractDocument(Content doc) @@ -175,7 +179,11 @@ public abstract class AbstractDocument public Dictionary getDocumentProperties() { - return null; + // FIXME: make me thread-safe + if (properties == null) + properties = new Hashtable(); + + return properties; } public Position getEndPosition() @@ -201,7 +209,12 @@ public abstract class AbstractDocument public Object getProperty(Object key) { - return null; + // FIXME: make me thread-safe + Object value = null; + if (properties != null) + value = properties.get(key); + + return value; } public Element[] getRootElements() @@ -258,6 +271,11 @@ public abstract class AbstractDocument public void putProperty(Object key, Object value) { + // FIXME: make me thread-safe + if (properties == null) + properties = new Hashtable(); + + properties.put(key, value); } public void readLock() @@ -366,6 +384,8 @@ public abstract class AbstractDocument public void setDocumentProperties(Dictionary x) { + // FIXME: make me thread-safe + properties = x; } protected void writeLock() diff --git a/libjava/javax/swing/text/Document.java b/libjava/javax/swing/text/Document.java index d3bbabb..31aded6 100644 --- a/libjava/javax/swing/text/Document.java +++ b/libjava/javax/swing/text/Document.java @@ -40,48 +40,182 @@ package javax.swing.text; import javax.swing.event.DocumentListener; import javax.swing.event.UndoableEditListener; - +/** + * A Document is the model that backs up all text components in Swing. + * This interface supports different kinds of implementations, from + * simple plain text model up to complex styled HTML or RTF models. + */ public interface Document { + /** + * The key for the property that describes the source of a document. + */ String StreamDescriptionProperty = "stream"; + + /** + * The key for the property that is the title of a document. + */ String TitleProperty = "title"; + /** + * Adds a {@link DocumentListener} to this document. + * + * @param listener the DocumentListener to add + */ void addDocumentListener(DocumentListener listener); + /** + * Adds an {@link UndoableEditListener} to this document. + * + * @param listener the UndoableEditListener to add + */ void addUndoableEditListener(UndoableEditListener listener); + /** + * Creates a mark in the character content at the specified offset. + * + * @param offs the offset where to place the mark + * + * @return the created Position object + * + * @throws BadLocationException of the specified offset is not a valid + * position in the documents content + */ Position createPosition(int offs) throws BadLocationException; + /** + * Returns the default root element. Views should be using this element + * unless other mechanisms for assigning views to element structure is + * provided. + * + * @return the default root element + */ Element getDefaultRootElement(); + /** + * Returns the position that marks the end of the document. + * + * @return the position that marks the end of the document + */ Position getEndPosition(); + /** + * Returns the length of the document content. + * + * @return the length of the document content + */ int getLength(); + /** + * Returns a document property with the specified key. + * + * @param key the (non-null) key for the property to fetch + * + * @return the property for <code>key</code> or null if no such property + * is stored + */ Object getProperty(Object key); + /** + * Returns the root elements of the document content. + * + * @return the root elements of the document content + */ Element[] getRootElements(); + /** + * Returns the position that marks the beginning of the document + * content. + * + * @return the start position + */ Position getStartPosition(); + /** + * Returns the textual content starting at <code>offset</code> with + * a length of <code>length</code>. + * + * @param offset the beginning of the text fragment to fetch + * @param length the length of the text fragment to fetch + * + * @return the text fragment starting at <code>offset</code> with + * a length of <code>length</code> + * + * @throws BadLocationException if <code>offset</code> or <code>length</code> + * are no valid locations in the document content + */ String getText(int offset, int length) throws BadLocationException; + /** + * Fetch the textual content starting at <code>offset</code> with + * a length of <code>length</code> and store it in <code>txt</code>. + * + * @param offset the beginning of the text fragment to fetch + * @param length the length of the text fragment to fetch + * @param txt the Segment where to store the text fragment + * + * @throws BadLocationException if <code>offset</code> or <code>length</code> + * are no valid locations in the document content + */ void getText(int offset, int length, Segment txt) throws BadLocationException; + /** + * Inserts a piece of text with an AttributeSet at the specified + * <code>offset</code>. + * + * @param offset the location where to insert the content + * @param str the textual content to insert + * @param a the Attributes associated with the piece of text + * + * @throws BadLocationException if <code>offset</code> + * is not a valid location in the document content + */ void insertString(int offset, String str, AttributeSet a) throws BadLocationException; + /** + * Sets a document property. + * + * @param key the key of the property + * @param value the value of the property + */ void putProperty(Object key, Object value); + /** + * Removes a piece of content. + * + * @param offs the location of the fragment to remove + * @param len the length of the fragment to remove + * + * @throws BadLocationException if <code>offs</code> or <code>len</code> + * are no valid locations in the document content + */ void remove(int offs, int len) throws BadLocationException; + /** + * Removes a DocumentListener from this Document. + * + * @param listener the DocumentListener to remove + */ void removeDocumentListener(DocumentListener listener); + /** + * Removes an UndoableEditListener from this Document. + * + * @param listener the UndoableEditListener to remove + */ void removeUndoableEditListener(UndoableEditListener listener); + /** + * This allows the Document to be rendered safely. It is made sure that + * the Runnable can read the document without any changes while reading. + * The Runnable is not allowed to change the Document itself. + * + * @param r the Runnable that renders the Document + */ void render(Runnable r); } diff --git a/libjava/javax/swing/text/GapContent.java b/libjava/javax/swing/text/GapContent.java index 44a8dcb..ea088dd 100644 --- a/libjava/javax/swing/text/GapContent.java +++ b/libjava/javax/swing/text/GapContent.java @@ -44,6 +44,16 @@ import java.io.Serializable; // lets just use a stringbuffer instead. import javax.swing.undo.UndoableEdit; +/** + * This implementation of {@link AbstractDocument.Content} uses a gapped + * buffer. This takes advantage of the fact that text area content is + * mostly inserted sequentially. The buffer is a char array that maintains + * a gap at the current insertion point. If characters a inserted at + * gap boundaries, the cost is minimal (simple array access). The array only + * has to be shifted around when the insertion point moves (then the gap also + * moves and one array copy is necessary) or when the gap is filled up and + * the buffer has to be enlarged. + */ public class GapContent implements AbstractDocument.Content, Serializable { @@ -51,16 +61,34 @@ public class GapContent StringBuffer buf = new StringBuffer(); + /** + * Creates a new GapContent object. + */ public GapContent() { this(10); } + /** + * Creates a new GapContent object with a specified initial size. + * + * @param size the initial size of the buffer + */ public GapContent(int size) { buf.append("\n"); } + /** + * Creates and returns a mark at the specified position. + * + * @param offset the position at which to create the mark + * + * @return the create Position object for the mark + * + * @throws BadLocationException if the offset is not a valid position in + * the buffer + */ public Position createPosition(final int offset) throws BadLocationException { return new Position() @@ -74,11 +102,28 @@ public class GapContent }; } + /** + * Returns the length of the content. + * + * @return the length of the content + */ public int length() { return buf.length(); } + /** + * Inserts a string at the specified position. + * + * @param where the position where the string is inserted + * @param str the string that is to be inserted + * + * @return an UndoableEdit object (currently not supported, so + * <code>null</code> is returned) + * + * @throws BadLocationException if <code>where</code> is not a valid location + * in the buffer + */ public UndoableEdit insertString(int where, String str) throws BadLocationException { @@ -86,6 +131,18 @@ public class GapContent return null; } + /** + * Removes a piece of content at th specified position. + * + * @param where the position where the content is to be removed + * @param nitems number of characters to be removed + * + * @return an UndoableEdit object (currently not supported, so + * <code>null</code> is returned) + * + * @throws BadLocationException if <code>where</code> is not a valid location + * in the buffer + */ public UndoableEdit remove(int where, int nitems) throws BadLocationException { @@ -93,11 +150,30 @@ public class GapContent return null; } + /** + * Returns a piece of content as String. + * + * @param where the start location of the fragment + * @param len the length of the fragment + * + * @throws BadLocationException if <code>where</code> or + * <code>where + len</code> are no valid locations in the buffer + */ public String getString(int where, int len) throws BadLocationException { return buf.substring(where, where+len); } + /** + * Fetches a piece of content and stores it in a {@link Segment} object. + * + * @param where the start location of the fragment + * @param len the length of the fragment + * @param txt the Segment object to store the fragment in + * + * @throws BadLocationException if <code>where</code> or + * <code>where + len</code> are no valid locations in the buffer + */ public void getChars(int where, int len, Segment txt) throws BadLocationException { diff --git a/libjava/javax/swing/text/StyleConstants.java b/libjava/javax/swing/text/StyleConstants.java index e1232af..e9019b1 100644 --- a/libjava/javax/swing/text/StyleConstants.java +++ b/libjava/javax/swing/text/StyleConstants.java @@ -1,5 +1,5 @@ /* StyleConstants.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -83,8 +83,10 @@ public class StyleConstants public static final Object ResolveAttribute = new StyleConstants("resolver"); String keyname; - - private StyleConstants(String k) + + // Package-private to avoid accessor constructor for use by + // subclasses. + StyleConstants(String k) { keyname = k; } diff --git a/libjava/javax/swing/tree/DefaultTreeSelectionModel.java b/libjava/javax/swing/tree/DefaultTreeSelectionModel.java index b329875..77cc0dd 100644 --- a/libjava/javax/swing/tree/DefaultTreeSelectionModel.java +++ b/libjava/javax/swing/tree/DefaultTreeSelectionModel.java @@ -117,6 +117,7 @@ public class DefaultTreeSelectionModel public DefaultTreeSelectionModel() { setSelectionMode(DISCONTIGUOUS_TREE_SELECTION); + listenerList = new EventListenerList(); } /** @@ -230,9 +231,9 @@ public class DefaultTreeSelectionModel * * @param path the path to set as selection */ - public void setSelectionPath(TreePath value0) + public void setSelectionPath(TreePath path) { - // TODO + selection = new TreePath[] { path }; } /** |