zbutton.java

来自「java+sql 图书管理系统」· Java 代码 · 共 88 行

JAVA
88
字号
package MyLibraryok.MySwing;

import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;

/**
 * <p>Title: 自定义按钮</p>
 *
 * <p>Description: JButton类按钮的一种扩展,当鼠标移入、移出、被点击时有不同的外观</p>
 *
 * <p>Copyright: 082401 (c) 2007</p>
 *
 * <p>Company: 清代IT0824</p>
 *
 * @author 侯韶君
 * @version 1.0
 */

public class ZButton extends JButton
{
    private Border borderOut;
    private Border borderIn;
    private Border borderPressed;

    public ZButton()
    {
        init();
    }
    /**初始化*/
    private void init()
    {
        borderOut     = BorderFactory.createEmptyBorder(2,2,2,2);
        borderIn      = BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.white,Color.white,
                            new Color(148, 145, 140),new Color(103, 101, 98));
        borderPressed = BorderFactory.createBevelBorder(BevelBorder.LOWERED,Color.white,Color.white,
                            new Color(148, 145, 140),new Color(103, 101, 98));

        this.setBorder( borderOut );

        this.addMouseListener(new java.awt.event.MouseAdapter()
        {
            public void mouseEntered(MouseEvent e) {
                thisButton_mouseEntered(e);
            }

            public void mouseExited(MouseEvent e) {
                thisButton_mouseExited(e);
            }

            public void mousePressed(MouseEvent e) {
                thisButton_mousePressed(e);
            }

            public void mouseReleased(MouseEvent e) {
                thisButton_mouseReleased(e);
            }

        });
    }
    /**鼠标移入时的外观*/
    void thisButton_mouseEntered(MouseEvent e){
        if( this.isEnabled() )
            this.setBorder( borderIn );
    }
    /**鼠标移出时的外观*/
    void thisButton_mouseExited(MouseEvent e){
        this.setBorder( borderOut );
    }
    /**鼠标被点击时的外观*/
    void thisButton_mousePressed(MouseEvent e){
        if( this.isEnabled())
            this.setBorder( borderPressed );
    }
    /**鼠标被释放时的外观*/
    void thisButton_mouseReleased(MouseEvent e)
    {
        if( (this.getBounds().contains(e.getX(), e.getY())) && this.isEnabled() )
            this.setBorder( borderIn );
        else
            this.setBorder( borderOut );
    }



}

⌨️ 快捷键说明

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