aboutsummaryrefslogtreecommitdiff
path: root/libjava/javax
diff options
context:
space:
mode:
authorRoman Kennke <roman@kennke.org>2005-04-25 19:36:43 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2005-04-25 19:36:43 +0000
commit8efae6bbfa04f662589bbfc64dbbe68935f973d2 (patch)
tree6a73f30784c260b998e5fb2e421b3c002d8ff608 /libjava/javax
parent9f62c3e3ed53732a8fe755ad5109c1a6ed25bb0c (diff)
downloadgcc-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.java10
-rw-r--r--libjava/javax/swing/plaf/basic/BasicLookAndFeel.java399
-rw-r--r--libjava/javax/swing/plaf/basic/BasicMenuItemUI.java12
-rw-r--r--libjava/javax/swing/plaf/basic/BasicScrollBarUI.java5
-rw-r--r--libjava/javax/swing/plaf/metal/MetalBorders.java76
-rw-r--r--libjava/javax/swing/plaf/metal/MetalLookAndFeel.java1
-rw-r--r--libjava/javax/swing/plaf/metal/MetalTextFieldUI.java22
-rw-r--r--libjava/javax/swing/text/AbstractDocument.java26
-rw-r--r--libjava/javax/swing/text/Document.java136
-rw-r--r--libjava/javax/swing/text/GapContent.java76
-rw-r--r--libjava/javax/swing/text/StyleConstants.java8
-rw-r--r--libjava/javax/swing/tree/DefaultTreeSelectionModel.java5
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 };
}
/**