thinbevelborder.java

来自「利用JAVA实现了类似XP中前进后退键样式的主从按钮。」· Java 代码 · 共 76 行

JAVA
76
字号
/**
 *  [ThinBevelBorder.java]
 *
 * @author:zhvfeng
 *
 * 这个 ThinBevelBorder 由 zhvfeng 朋友制造,
 * 我在这里做个利用,比java默认的 BevelBorder 漂亮
 */
 
 
package subbutton;


import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;
import javax.swing.border.BevelBorder;


public class ThinBevelBorder extends BevelBorder {
    
    public ThinBevelBorder(int bevelType) { super(bevelType); }
    
    
    public ThinBevelBorder(int bevelType, Color highlight, Color shadow) {
        super(bevelType, highlight, shadow);
    }
    
    
    public ThinBevelBorder(int bevelType, Color highlightOuterColor,
                           Color highlightInnerColor, Color shadowOuterColor,
                                                 Color shadowInnerColor) {
        super(bevelType, highlightOuterColor, highlightInnerColor,
                                  shadowOuterColor, shadowInnerColor);
    }
    
    
    protected void paintRaisedBevel(Component c, Graphics g, int x, int y,
                                                  int width, int height) {
        try {
            Color oldColor = g.getColor();
            int h = height;
            int w = width;
            g.translate(x, y);
            g.setColor(getHighlightInnerColor(c));
            g.drawLine(0, 0, 0, h - 1);
            g.drawLine(1, 0, w - 1, 0);
            g.setColor(getShadowInnerColor(c));
            g.drawLine(1, h - 1, w - 1, h - 1);
            g.drawLine(w - 1, 1, w - 1, h - 2);
            g.translate( -x, -y);
            g.setColor(oldColor);
        } catch (NullPointerException e) {   }
    }
    
    
    protected void paintLoweredBevel(Component c, Graphics g, int x, int y,
                                                  int width, int height) {
        try {
            Color oldColor = g.getColor();
            int h = height;
            int w = width;
            g.translate(x, y);
            g.setColor(getShadowInnerColor(c));
            g.drawLine(0, 0, 0, h - 1);
            g.drawLine(1, 0, w - 1, 0);
            g.setColor(getHighlightOuterColor(c));
            g.drawLine(1, h - 1, w - 1, h - 1);
            g.drawLine(w - 1, 1, w - 1, h - 2);
            g.translate( -x, -y);
            g.setColor(oldColor);
        } catch (NullPointerException e) {   }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?