public void paint(Graphics g) { Dimension size = getSize(); Color colors[]; if (isEnabled()) { if (getModel().isArmed() && getModel().isPressed()) { colors = BaseLookAndFeel.getTheme().getPressedColors(); } else if (getModel().isRollover()) { colors = BaseLookAndFeel.getTheme().getRolloverColors(); } else { colors = BaseLookAndFeel.getTheme().getButtonColors(); } } else { colors = BaseLookAndFeel.getTheme().getDisabledColors(); } Utilities.fillHorGradient(g, colors, 0, 0, size.width, size.height); boolean inverse = ColorHelper.getGrayValue(colors) < 128; Icon icon = inverse ? BaseIcons.getComboBoxInverseIcon() : BaseIcons.getComboBoxIcon(); int x = (size.width - icon.getIconWidth()) / 2; int y = (size.height - icon.getIconHeight()) / 2; Graphics2D g2D = (Graphics2D) g; Composite savedComposite = g2D.getComposite(); g2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.8f)); if (getModel().isPressed() && getModel().isArmed()) { icon.paintIcon(this, g, x + 2, y + 1); } else { icon.paintIcon(this, g, x + 1, y); } g2D.setComposite(savedComposite); paintBorder(g2D); }
protected void initComponentDefaults(UIDefaults table) { super.initComponentDefaults(table); BaseBorders.initDefaults(); BaseIcons.initDefaults(); Object textFieldBorder = getBorderFactory().getTextFieldBorder(); Object comboBoxBorder = getBorderFactory().getComboBoxBorder(); Object scrollPaneBorder = getBorderFactory().getScrollPaneBorder(); Object tableScrollPaneBorder = getBorderFactory().getTableScrollPaneBorder(); Object tabbedPaneBorder = getBorderFactory().getTabbedPaneBorder(); Object buttonBorder = getBorderFactory().getButtonBorder(); Object toggleButtonBorder = getBorderFactory().getToggleButtonBorder(); Object titledBorderBorder = new UIDefaults.ProxyLazyValue( "javax.swing.plaf.BorderUIResource$LineBorderUIResource", new Object[] {getFrameColor()}); Object menuBarBorder = getBorderFactory().getMenuBarBorder(); Object popupMenuBorder = getBorderFactory().getPopupMenuBorder(); Object menuItemBorder = getBorderFactory().getMenuItemBorder(); Object toolBarBorder = getBorderFactory().getToolBarBorder(); Object progressBarBorder = getBorderFactory().getProgressBarBorder(); Object toolTipBorder = new UIDefaults.ProxyLazyValue( "javax.swing.plaf.BorderUIResource$LineBorderUIResource", new Object[] {getFrameColor()}); Object focusCellHighlightBorder = new UIDefaults.ProxyLazyValue( "javax.swing.plaf.BorderUIResource$LineBorderUIResource", new Object[] {getFocusCellColor()}); Object optionPaneBorder = BorderFactory.createEmptyBorder(0, 0, 0, 0); Object optionPaneMessageAreaBorder = BorderFactory.createEmptyBorder(8, 8, 8, 8); Object optionPaneButtonAreaBorder = BorderFactory.createEmptyBorder(0, 8, 8, 8); Object windowBorder = getBorderFactory().getInternalFrameBorder(); Color c = getBackgroundColor(); ColorUIResource progressBarBackground = new ColorUIResource(ColorHelper.brighter(c, 20)); // DEFAULTS TABLE Object[] defaults = { "controlTextFont", getControlTextFont(), "systemTextFont ", getSystemTextFont(), "userTextFont", getUserTextFont(), "menuTextFont", getMenuTextFont(), "windowTitleFont", getWindowTitleFont(), "subTextFont", getSubTextFont(), "Label.font", getUserTextFont(), "Label.background", getBackgroundColor(), "Label.foreground", getForegroundColor(), "Label.disabledText", getDisabledForegroundColor(), "Label.disabledShadow", getWhite(), // Text (Note: many are inherited) "TextField.border", textFieldBorder, "TextField.foreground", getInputForegroundColor(), "TextField.background", getInputBackgroundColor(), "TextField.disabledForeground", getDisabledForegroundColor(), "TextField.disabledBackground", getDisabledBackgroundColor(), "TextField.inactiveForeground", getDisabledForegroundColor(), "TextField.inactiveBackground", getDisabledBackgroundColor(), "TextArea.foreground", getInputForegroundColor(), "TextArea.background", getInputBackgroundColor(), "TextArea.disabledForeground", getDisabledForegroundColor(), "TextArea.disabledBackground", getDisabledBackgroundColor(), "TextArea.inactiveForeground", getDisabledForegroundColor(), "TextArea.inactiveBackground", getDisabledBackgroundColor(), "EditorPane.foreground", getInputForegroundColor(), "EditorPane.background", getInputBackgroundColor(), "EditorPane.disabledForeground", getDisabledForegroundColor(), "EditorPane.disabledBackground", getDisabledBackgroundColor(), "EditorPane.inactiveForeground", getDisabledForegroundColor(), "EditorPane.inactiveBackground", getDisabledBackgroundColor(), "FormattedTextField.border", textFieldBorder, "FormattedTextField.foreground", getInputForegroundColor(), "FormattedTextField.background", getInputBackgroundColor(), "FormattedTextField.disabledForeground", getDisabledForegroundColor(), "FormattedTextField.disabledBackground", getDisabledBackgroundColor(), "FormattedTextField.inactiveForeground", getDisabledForegroundColor(), "FormattedTextField.inactiveBackground", getDisabledBackgroundColor(), "PasswordField.border", textFieldBorder, "PasswordField.foreground", getInputForegroundColor(), "PasswordField.background", getInputBackgroundColor(), "PasswordField.disabledForeground", getDisabledForegroundColor(), "PasswordField.disabledBackground", getDisabledBackgroundColor(), "PasswordField.inactiveForeground", getDisabledForegroundColor(), "PasswordField.inactiveBackground", getDisabledBackgroundColor(), // Buttons "Button.background", getButtonBackgroundColor(), "Button.foreground", getButtonForegroundColor(), "Button.disabledText", getDisabledForegroundColor(), "Button.disabledShadow", getWhite(), "Button.select", getSelectionBackgroundColor(), "Button.border", buttonBorder, "Button.frame", getFrameColor(), "Button.focus", getFocusColor(), "Button.rolloverColor", getTheme().getRolloverColor(), "CheckBox.font", getUserTextFont(), "CheckBox.background", getBackgroundColor(), "CheckBox.foreground", getForegroundColor(), "CheckBox.disabledText", getDisabledForegroundColor(), "CheckBox.disabledShadow", getWhite(), "Checkbox.select", getSelectionBackgroundColor(), "CheckBox.focus", getFocusColor(), "CheckBox.icon", getIconFactory().getCheckBoxIcon(), "RadioButton.font", getUserTextFont(), "RadioButton.background", getBackgroundColor(), "RadioButton.foreground", getForegroundColor(), "RadioButton.disabledText", getDisabledForegroundColor(), "RadioButton.disabledShadow", getWhite(), "RadioButton.select", getSelectionBackgroundColor(), "RadioButton.icon", getIconFactory().getRadioButtonIcon(), "RadioButton.focus", getFocusColor(), "ToggleButton.background", getButtonBackgroundColor(), "ToggleButton.foreground", getButtonForegroundColor(), "ToggleButton.select", getSelectionBackgroundColor(), "ToggleButton.text", getButtonForegroundColor(), "ToggleButton.disabledText", getDisabledForegroundColor(), "ToggleButton.disabledShadow", getWhite(), "ToggleButton.disabledSelectedText", getDisabledForegroundColor(), "ToggleButton.disabledBackground", getButtonBackgroundColor(), "ToggleButton.disabledSelectedBackground", getSelectionBackgroundColor(), "ToggleButton.focus", getFocusColor(), "ToggleButton.border", toggleButtonBorder, // ToolTip "ToolTip.border", toolTipBorder, "ToolTip.foreground", getTooltipForegroundColor(), "ToolTip.background", getTooltipBackgroundColor(), // Slider "Slider.border", null, "Slider.foreground", getFrameColor(), "Slider.background", getBackgroundColor(), "Slider.focus", getFocusColor(), "Slider.focusInsets", new InsetsUIResource(0, 0, 0, 0), "Slider.trackWidth", 7, "Slider.majorTickLength", 6, // Progress Bar "ProgressBar.border", progressBarBorder, "ProgressBar.background", progressBarBackground, "ProgressBar.selectionForeground", getSelectionForegroundColor(), "ProgressBar.selectionBackground", getForegroundColor(), // Combo Box "ComboBox.border", comboBoxBorder, "ComboBox.background", getInputBackgroundColor(), "ComboBox.foreground", getInputForegroundColor(), "ComboBox.selectionBackground", getSelectionBackgroundColor(), "ComboBox.selectionForeground", getSelectionForegroundColor(), "ComboBox.selectionBorderColor", getFocusColor(), "ComboBox.disabledBackground", getDisabledBackgroundColor(), "ComboBox.disabledForeground", getDisabledForegroundColor(), "ComboBox.listBackground", getInputBackgroundColor(), "ComboBox.listForeground", getInputForegroundColor(), "ComboBox.font", getUserTextFont(), // Panel "Panel.foreground", getForegroundColor(), "Panel.background", getBackgroundColor(), "Panel.darkBackground", getTheme().getBackgroundColorDark(), "Panel.lightBackground", getTheme().getBackgroundColorLight(), "Panel.alterBackground", getTheme().getAlterBackgroundColor(), "Panel.font", getUserTextFont(), // RootPane "RootPane.frameBorder", windowBorder, "RootPane.plainDialogBorder", windowBorder, "RootPane.informationDialogBorder", windowBorder, "RootPane.errorDialogBorder", windowBorder, "RootPane.colorChooserDialogBorder", windowBorder, "RootPane.fileChooserDialogBorder", windowBorder, "RootPane.questionDialogBorder", windowBorder, "RootPane.warningDialogBorder", windowBorder, // InternalFrame "InternalFrame.border", getBorderFactory().getInternalFrameBorder(), "InternalFrame.font", getWindowTitleFont(), "InternalFrame.paletteBorder", getBorderFactory().getPaletteBorder(), "InternalFrame.paletteTitleHeight", 11, "InternalFrame.paletteCloseIcon", getIconFactory().getPaletteCloseIcon(), "InternalFrame.icon", getIconFactory().getMenuIcon(), "InternalFrame.iconifyIcon", getIconFactory().getIconIcon(), "InternalFrame.maximizeIcon", getIconFactory().getMaxIcon(), "InternalFrame.minimizeIcon", getIconFactory().getMinIcon(), "InternalFrame.closeIcon", getIconFactory().getCloseIcon(), // Titled Border "TitledBorder.titleColor", getForegroundColor(), "TitledBorder.border", titledBorderBorder, // List "List.focusCellHighlightBorder", focusCellHighlightBorder, "List.font", getUserTextFont(), "List.foreground", getInputForegroundColor(), "List.background", getInputBackgroundColor(), "List.selectionForeground", getSelectionForegroundColor(), "List.selectionBackground", getSelectionBackgroundColor(), "List.disabledForeground", getDisabledForegroundColor(), "List.disabledBackground", getDisabledBackgroundColor(), // ScrollBar "ScrollBar.background", getControlBackgroundColor(), "ScrollBar.highlight", getControlHighlightColor(), "ScrollBar.shadow", getControlShadowColor(), "ScrollBar.darkShadow", getControlDarkShadowColor(), "ScrollBar.thumb", getControlBackgroundColor(), "ScrollBar.thumbShadow", getControlShadowColor(), "ScrollBar.thumbHighlight", getControlHighlightColor(), "ScrollBar.width", 17, "ScrollBar.allowsAbsolutePositioning", Boolean.TRUE, // ScrollPane "ScrollPane.border", scrollPaneBorder, "ScrollPane.foreground", getForegroundColor(), "ScrollPane.background", getBackgroundColor(), // Viewport "Viewport.foreground", getForegroundColor(), "Viewport.background", getBackgroundColor(), "Viewport.font", getUserTextFont(), // Tabbed Pane "TabbedPane.boder", tabbedPaneBorder, "TabbedPane.background", getBackgroundColor(), "TabbedPane.tabAreaBackground", getTabAreaBackgroundColor(), "TabbedPane.unselectedBackground", getControlColorDark(), "TabbedPane.foreground", getControlForegroundColor(), "TabbedPane.selected", getBackgroundColor(), "TabbedPane.selectedForeground", getTabSelectionForegroundColor(), "TabbedPane.tabAreaInsets", new InsetsUIResource(5, 5, 5, 5), "TabbedPane.contentBorderInsets", new InsetsUIResource(0, 0, 0, 0), "TabbedPane.tabInsets", new InsetsUIResource(1, 6, 1, 6), "TabbedPane.focus", getFocusColor(), // TabbedPane ScrollButton "TabbedPane.selected", getButtonBackgroundColor(), "TabbedPane.shadow", new ColorUIResource(180, 180, 180), "TabbedPane.darkShadow", new ColorUIResource(120, 120, 120), "TabbedPane.highlight", new ColorUIResource(Color.white), // Tab Colors in Netbeans "tab_unsel_fill", getControlBackgroundColor(), "tab_sel_fill", getControlBackgroundColor(), // Table "Table.focusCellHighlightBorder", focusCellHighlightBorder, "Table.scrollPaneBorder", tableScrollPaneBorder, "Table.foreground", getInputForegroundColor(), "Table.background", getInputBackgroundColor(), "Table.gridColor", getGridColor(), "TableHeader.foreground", getControlForegroundColor(), "TableHeader.background", getBackgroundColor(), "TableHeader.cellBorder", getBorderFactory().getTableHeaderBorder(), // MenuBar "MenuBar.border", menuBarBorder, "MenuBar.foreground", getMenuForegroundColor(), "MenuBar.background", getMenuBackgroundColor(), // Menu "Menu.border", menuItemBorder, "Menu.borderPainted", Boolean.TRUE, "Menu.foreground", getMenuForegroundColor(), "Menu.background", getMenuBackgroundColor(), "Menu.selectionForeground", getMenuSelectionForegroundColor(), "Menu.selectionBackground", getMenuSelectionBackgroundColor(), "Menu.disabledForeground", getDisabledForegroundColor(), "Menu.acceleratorForeground", getMenuForegroundColor(), "Menu.acceleratorSelectionForeground", getMenuSelectionForegroundColor(), "Menu.arrowIcon", getIconFactory().getMenuArrowIcon(), // Popup Menu "PopupMenu.background", getMenuBackgroundColor(), "PopupMenu.border", popupMenuBorder, // Menu Item "MenuItem.border", menuItemBorder, "MenuItem.borderPainted", Boolean.TRUE, "MenuItem.foreground", getMenuForegroundColor(), "MenuItem.background", getMenuBackgroundColor(), "MenuItem.selectionForeground", getMenuSelectionForegroundColor(), "MenuItem.selectionBackground", getMenuSelectionBackgroundColor(), "MenuItem.disabledForeground", getDisabledForegroundColor(), "MenuItem.disabledShadow", getWhite(), "MenuItem.acceleratorForeground", getMenuForegroundColor(), "MenuItem.acceleratorSelectionForeground", getMenuSelectionForegroundColor(), "CheckBoxMenuItem.border", menuItemBorder, "CheckBoxMenuItem.borderPainted", Boolean.TRUE, "CheckBoxMenuItem.foreground", getMenuForegroundColor(), "CheckBoxMenuItem.background", getMenuBackgroundColor(), "CheckBoxMenuItem.selectionForeground", getMenuSelectionForegroundColor(), "CheckBoxMenuItem.selectionBackground", getMenuSelectionBackgroundColor(), "CheckBoxMenuItem.disabledForeground", getDisabledForegroundColor(), "CheckBoxMenuItem.disabledShadow", getWhite(), "CheckBoxMenuItem.acceleratorForeground", getMenuForegroundColor(), "CheckBoxMenuItem.acceleratorSelectionForeground", getMenuSelectionForegroundColor(), "CheckBoxMenuItem.checkIcon", getIconFactory().getMenuCheckBoxIcon(), "RadioButtonMenuItem.border", menuItemBorder, "RadioButtonMenuItem.borderPainted", Boolean.TRUE, "RadioButtonMenuItem.foreground", getMenuForegroundColor(), "RadioButtonMenuItem.background", getMenuBackgroundColor(), "RadioButtonMenuItem.selectionForeground", getMenuSelectionForegroundColor(), "RadioButtonMenuItem.selectionBackground", getMenuSelectionBackgroundColor(), "RadioButtonMenuItem.disabledForeground", getDisabledForegroundColor(), "RadioButtonMenuItem.disabledShadow", getWhite(), "RadioButtonMenuItem.acceleratorForeground", getMenuForegroundColor(), "RadioButtonMenuItem.acceleratorSelectionForeground", getMenuSelectionForegroundColor(), "RadioButtonMenuItem.checkIcon", getIconFactory().getMenuRadioButtonIcon(), // OptionPane. "OptionPane.errorIcon", getIconFactory().getOptionPaneErrorIcon(), "OptionPane.informationIcon", getIconFactory().getOptionPaneInformationIcon(), "OptionPane.warningIcon", getIconFactory().getOptionPaneWarningIcon(), "OptionPane.questionIcon", getIconFactory().getOptionPaneQuestionIcon(), "OptionPane.border", optionPaneBorder, "OptionPane.messageAreaBorder", optionPaneMessageAreaBorder, "OptionPane.buttonAreaBorder", optionPaneButtonAreaBorder, // File View "FileView.directoryIcon", getIconFactory().getTreeFolderIcon(), "FileView.fileIcon", getIconFactory().getTreeLeafIcon(), "FileView.computerIcon", getIconFactory().getTreeComputerIcon(), "FileView.hardDriveIcon", getIconFactory().getTreeHardDriveIcon(), "FileView.floppyDriveIcon", getIconFactory().getTreeFloppyDriveIcon(), // File Chooser "FileChooser.detailsViewIcon", getIconFactory().getFileChooserDetailViewIcon(), "FileChooser.homeFolderIcon", getIconFactory().getFileChooserHomeFolderIcon(), "FileChooser.listViewIcon", getIconFactory().getFileChooserListViewIcon(), "FileChooser.newFolderIcon", getIconFactory().getFileChooserNewFolderIcon(), "FileChooser.upFolderIcon", getIconFactory().getFileChooserUpFolderIcon(), // Separator "Separator.background", getBackgroundColor(), "Separator.foreground", getControlForegroundColor(), // SplitPane "SplitPane.centerOneTouchButtons", Boolean.TRUE, "SplitPane.dividerSize", 7, "SplitPane.border", BorderFactory.createEmptyBorder(), // Tree "Tree.background", getInputBackgroundColor(), "Tree.foreground", getInputForegroundColor(), "Tree.textForeground", getInputForegroundColor(), "Tree.textBackground", getInputBackgroundColor(), "Tree.openIcon", new ImageIcon() /*getIconFactory().getTreeFolderIcon()*/, "Tree.closedIcon", new ImageIcon() /*getIconFactory().getTreeFolderIcon()*/, "Tree.leafIcon", new ImageIcon() /*getIconFactory().getTreeLeafIcon()*/, "Tree.expandedIcon", getIconFactory().getTreeExpandedIcon(), "Tree.collapsedIcon", getIconFactory().getTreeCollapsedIcon(), "Tree.selectionBorderColor", getFocusCellColor(), "Tree.line", getFrameColor(), // horiz lines "Tree.hash", getFrameColor(), // legs // ToolBar "JToolBar.isRollover", Boolean.TRUE, "ToolBar.border", toolBarBorder, "ToolBar.background", getToolbarBackgroundColor(), "ToolBar.foreground", getToolbarForegroundColor(), "ToolBar.dockingBackground", getToolbarBackgroundColor(), "ToolBar.dockingForeground", getToolbarDockingColor(), "ToolBar.floatingBackground", getToolbarBackgroundColor(), "ToolBar.floatingForeground", getToolbarForegroundColor(), }; table.putDefaults(defaults); if (JTattooUtilities.getJavaVersion() >= 1.5) { table.put("Spinner.font", getControlTextFont()); table.put("Spinner.background", getButtonBackgroundColor()); table.put("Spinner.foreground", getButtonForegroundColor()); table.put("Spinner.border", getBorderFactory().getSpinnerBorder()); table.put("Spinner.arrowButtonInsets", null); table.put("Spinner.arrowButtonBorder", BorderFactory.createEmptyBorder()); table.put("Spinner.editorBorderPainted", Boolean.FALSE); } }