public void paint(Graphics g, JComponent comp) {
		AbstractButton btn = (AbstractButton) comp;
		boolean rollover = btn.getModel().isRollover();
		boolean selected = btn.getModel().isSelected();
		boolean armed = btn.getModel().isArmed();
		btn.setBorderPainted(selected || rollover);
		if(rollover || selected) {
			if(armed) {
				g.translate(1, 1);
			} else {
				@SuppressWarnings("unused")
				Insets i = btn.getInsets();
				if(! selected) { // avoid too much effects
					g.setColor(highlight);
					g.fillRect(1, 1, btn.getWidth() - 2, btn.getHeight() - 2);
				}
			}
		}

		Border b = comp.getBorder();
		if(b instanceof ToolBarButtonBorder) {
			((ToolBarButtonBorder) b).setPressed(selected || armed);
		}

		super.paint(g, comp);
	}