01: /*
02: * Copyright (c) 2005-2008 Substance Kirill Grouchnikov. All Rights Reserved.
03: *
04: * Redistribution and use in source and binary forms, with or without
05: * modification, are permitted provided that the following conditions are met:
06: *
07: * o Redistributions of source code must retain the above copyright notice,
08: * this list of conditions and the following disclaimer.
09: *
10: * o Redistributions in binary form must reproduce the above copyright notice,
11: * this list of conditions and the following disclaimer in the documentation
12: * and/or other materials provided with the distribution.
13: *
14: * o Neither the name of Substance Kirill Grouchnikov nor the names of
15: * its contributors may be used to endorse or promote products derived
16: * from this software without specific prior written permission.
17: *
18: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
20: * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
22: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25: * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26: * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
27: * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28: * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29: */
30: package org.jvnet.substance;
31:
32: import java.awt.Component;
33: import java.awt.Graphics;
34:
35: import javax.swing.border.Border;
36: import javax.swing.plaf.UIResource;
37:
38: /**
39: * Base class for button borders in <b>Substance </b> look-and-feel. This class
40: * is <b>for internal use only</b>.
41: *
42: * @author Kirill Grouchnikov
43: */
44: public abstract class SubstanceButtonBorder implements Border,
45: UIResource {
46: /**
47: * The associated button shaper class.
48: */
49: private Class<?> buttonShaperClass;
50:
51: /**
52: * Simple constructor.
53: *
54: * @param buttonShaperClass
55: * The associated button shaper class.
56: */
57: public SubstanceButtonBorder(Class<?> buttonShaperClass) {
58: this .buttonShaperClass = buttonShaperClass;
59: }
60:
61: /*
62: * (non-Javadoc)
63: *
64: * @see javax.swing.border.Border#isBorderOpaque()
65: */
66: public boolean isBorderOpaque() {
67: return false;
68: }
69:
70: /*
71: * (non-Javadoc)
72: *
73: * @see javax.swing.border.Border#paintBorder(java.awt.Component,
74: * java.awt.Graphics, int, int, int, int)
75: */
76: public void paintBorder(Component c, Graphics g, int x, int y,
77: int width, int height) {
78: }
79:
80: /**
81: * Returns the associated button shaper class.
82: *
83: * @return The associated button shaper class.
84: */
85: public Class<?> getButtonShaperClass() {
86: return this.buttonShaperClass;
87: }
88: }
|