/* * Copyright 2005 MH-Software-Entwicklung. All rights reserved. * Use is subject to license terms. */ package com.jtattoo.plaf; import java.awt.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.plaf.basic.*; /** * @author Michael Hagen */ public class BaseSplitPaneDivider extends BasicSplitPaneDivider { public BaseSplitPaneDivider(BasicSplitPaneUI ui) { super(ui); } public Border getBorder() { return null; } public void paint(Graphics g) { int width = getSize().width; int height = getSize().height; int dx = 0; int dy = 0; if ((width % 2) == 0) { dx = 1; } if ((height % 2) == 0) { dy = 1; } Color color = AbstractLookAndFeel.getBackgroundColor(); Color cHi = ColorHelper.brighter(color, 25); Color cLo = ColorHelper.darker(color, 5); Color colors[] = ColorHelper.createColorArr(cHi, cLo, 10); if (UIManager.getLookAndFeel() instanceof AbstractLookAndFeel) { AbstractLookAndFeel lf = (AbstractLookAndFeel) UIManager.getLookAndFeel(); if (orientation == JSplitPane.HORIZONTAL_SPLIT) { JTattooUtilities.fillVerGradient(g, colors, 0, 0, width, height); Icon horBumps = lf.getIconFactory().getSplitterHorBumpIcon(); if ((horBumps != null) && (width > horBumps.getIconWidth())) { Graphics2D g2D = (Graphics2D) g; Composite composite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.7f); g2D.setComposite(alpha); int x = (width - horBumps.getIconWidth()) / 2 + dx; int y = (height - horBumps.getIconHeight()) / 2; horBumps.paintIcon(this, g, x, y); g2D.setComposite(composite); } } else { JTattooUtilities.fillHorGradient(g, colors, 0, 0, width, height); Icon verBumps = lf.getIconFactory().getSplitterVerBumpIcon(); if ((verBumps != null) && (height > verBumps.getIconHeight())) { Graphics2D g2D = (Graphics2D) g; Composite composite = g2D.getComposite(); AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.7f); g2D.setComposite(alpha); int x = (width - verBumps.getIconWidth()) / 2; int y = (height - verBumps.getIconHeight()) / 2 + dy; verBumps.paintIcon(this, g, x, y); g2D.setComposite(composite); } } } paintComponents(g); } protected JButton createLeftOneTouchButton() { JButton b = new JButton() { public void paint(Graphics g) { Color color = getBackground(); int w = getSize().width; int h = getSize().height; if (getModel().isPressed() && getModel().isArmed()) { g.setColor(ColorHelper.darker(color, 40)); g.fillRect(0, 0, w, h); } else if (getModel().isRollover() && getModel().isArmed()) { g.setColor(ColorHelper.brighter(color, 40)); g.fillRect(0, 0, w, h); } Icon icon = null; if (orientation == JSplitPane.HORIZONTAL_SPLIT) { icon = BaseIcons.getSplitterLeftArrowIcon(); } else { icon = BaseIcons.getSplitterUpArrowIcon(); } icon.paintIcon(this, g, 0, 0); if (getModel().isRollover() && getModel().isArmed()) { if (getModel().isPressed()) { JTattooUtilities.draw3DBorder(g, ColorHelper.darker(color, 60), ColorHelper.brighter(color, 80), 0, 0, w, h); } else { JTattooUtilities.draw3DBorder(g, ColorHelper.brighter(color, 80), ColorHelper.darker(color, 60), 0, 0, w, h); } } } public boolean isFocusTraversable() { return false; } }; b.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); b.setFocusPainted(false); b.setBorderPainted(false); b.setContentAreaFilled(false); b.setRolloverEnabled(true); return b; } protected JButton createRightOneTouchButton() { JButton b = new JButton() { public void paint(Graphics g) { Color color = getBackground(); int w = getSize().width; int h = getSize().height; if (getModel().isPressed() && getModel().isArmed()) { g.setColor(ColorHelper.darker(color, 40)); g.fillRect(0, 0, w, h); } else if (getModel().isRollover() && getModel().isArmed()) { g.setColor(ColorHelper.brighter(color, 40)); g.fillRect(0, 0, w, h); } Icon icon = null; if (orientation == JSplitPane.HORIZONTAL_SPLIT) { icon = BaseIcons.getSplitterRightArrowIcon(); } else { icon = BaseIcons.getSplitterDownArrowIcon(); } icon.paintIcon(this, g, 0, 0); if (getModel().isRollover() && getModel().isArmed()) { if (getModel().isPressed()) { JTattooUtilities.draw3DBorder(g, ColorHelper.darker(color, 60), ColorHelper.brighter(color, 80), 0, 0, w, h); } else { JTattooUtilities.draw3DBorder(g, ColorHelper.brighter(color, 80), ColorHelper.darker(color, 60), 0, 0, w, h); } } } public boolean isFocusTraversable() { return false; } }; b.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); b.setFocusPainted(false); b.setBorderPainted(false); b.setContentAreaFilled(false); b.setRolloverEnabled(true); return b; } }