KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > swing > plaf > winclassic > WinClassicCompBorder


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 /*
20  * WinClassicCompBorder.java
21  *
22  * Created on March 14, 2004, 8:34 PM
23  */

24
25 package org.netbeans.swing.plaf.winclassic;
26
27 import javax.swing.*;
28 import javax.swing.border.Border JavaDoc;
29 import java.awt.*;
30
31 /** Lower border for the tab control
32  *
33  * @author Dafe Simonek
34  */

35 public class WinClassicCompBorder implements Border JavaDoc {
36
37     private static final Insets insets = new Insets(0, 2, 2, 2);
38
39     public Insets getBorderInsets(Component c) {
40         return insets;
41     }
42
43     public boolean isBorderOpaque() {
44         return true;
45     }
46
47     public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
48         int topOffset = 0;
49         // TODO - other option is to let the painting of the dark border to the inner component and make this border's insets smaller.
50
if (c instanceof JComponent) {
51             JComponent jc = (JComponent)c;
52             Integer JavaDoc in = (Integer JavaDoc)jc.getClientProperty("MultiViewBorderHack.topOffset");
53             topOffset = in == null ? topOffset : in.intValue();
54         }
55         g.translate(x, y);
56         g.setColor(UIManager.getColor("InternalFrame.borderShadow")); //NOI18N
57
g.drawLine(0, 0, 0, height - 1);
58         if (topOffset != 0) {
59             g.drawLine(1, topOffset - 1, 1, topOffset);
60         }
61         g.setColor(UIManager.getColor("InternalFrame.borderDarkShadow")); //NOI18N
62
g.drawLine(1, topOffset, 1, height - 2);
63         g.setColor(UIManager.getColor("InternalFrame.borderHighlight")); //NOI18N
64
g.drawLine(1, height - 1, width - 1, height - 1);
65         g.drawLine(width - 1, height - 2, width - 1, 0);
66         g.setColor(UIManager.getColor("InternalFrame.borderLight")); //NOI18N
67
g.drawLine(2, height - 2, width - 2, height - 2);
68         g.drawLine(width - 2, height - 3, width - 2, 0);
69         g.translate(-x, -y);
70     }
71     
72 }
73
Popular Tags