⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gbutton.java

📁 WebHangman a game can be play on the website contain the total code of JAVA
💻 JAVA
字号:
package com.aztsoft.games.gfx;

import java.awt.*;

/**
 * Absolutely pointless to have a button class. This remained from the original j2me implementation
 *
 */
public class GButton {
    int originX;
    int originY;
    int width;
    int height;
    private String label;
    private Image image=null;
    public static int kSTATUS_NORMAL=0;
    public static int kSTATUS_FOCUSED=1;
    public static int kSTATUS_DISABLED=2;
    private int status=kSTATUS_NORMAL;
    protected Font smallFont = new Font("Arial",Font.PLAIN,16);

    public GButton(int x, int y, int width, int height, String label) {
        this.originX = x;
        this.originY = y;
        this.width = width;
        this.height = height;
        this.label = label;
    }

    public GButton(int originX, int originY, int width, int height, String label, Image image) {
        this(originX, originY, width, height, label);
        this.image = image;
    }

    public int getStatus() {
        return status;
    }

    public void paint(Graphics g) {
        g.setFont(smallFont);
        if (status==kSTATUS_NORMAL) {
            paintNormalButton(g);
        } else if (status==kSTATUS_FOCUSED) {
            paintPressedButton(g);
        }
        else if (status==kSTATUS_DISABLED) {
            paintDisabledButton(g);
        }
    }

    public void setStatus(int statusNum) {
        status = statusNum;
    }

    private void paintNormalButton(Graphics g) {
        g.setColor(new Color(180,180,180));
        g.fillRect(originX,originY,width,height);
        g.setColor(Color.black);
        g.drawRect(originX,originY,width,height);

        g.setColor(new Color(230,230,230));
        g.drawLine(originX+1,originY+1,originX+1,originY+1+height-2);
        g.drawLine(originX+1,originY+1,originX+1+width-2,originY+1);

        g.setColor(new Color(90,90,90));
        g.drawLine(originX+2,originY+1+height-2,originX+1+width-2,originY+1+height-2);
        g.drawLine(originX+1+width-2,originY+2,originX+1+width-2,originY+1+height-2);

        g.setColor(Color.black);
        if (image!=null) {
           g.drawImage(image,originX+2,originY+2,null);
        } else {
           g.drawString(label,originX+3,originY+height-height/3);
        }
    }

    private void paintPressedButton(Graphics g) {
        g.setColor(new Color(180,180,180));
        g.fillRect(originX,originY,width,height);
        g.setColor(Color.black);
        g.drawRect(originX,originY,width,height);

        g.setColor(new Color(90,90,90));
        g.drawLine(originX+1,originY+1,originX+1,originY+1+height-2);
        g.drawLine(originX+1,originY+1,originX+1+width-2,originY+1);

        g.setColor(new Color(230,230,230));
        g.drawLine(originX+2,originY+1+height-2,originX+1+width-2,originY+1+height-2);
        g.drawLine(originX+1+width-2,originY+2,originX+1+width-2,originY+1+height-2);

        g.setColor(Color.black);
        if (image!=null) {
           g.drawImage(image,originX+3,originY+3,null);
        } else {
        g.drawString(label,originX+4,originY+4+height-height/3);
        }
    }

    private void paintDisabledButton(Graphics g) {
        g.setColor(new Color(220,220,220));
        g.fillRect(originX,originY,width,height);
        g.setColor(Color.black);
        g.drawRect(originX,originY,width,height);

        g.setColor(Color.black);
        if (image!=null) {
           g.drawImage(image,originX+3,originY+3, null);
        } else {
          g.setColor(new Color(120,120,120));
        g.drawString(label,originX+4,originY+4+height-height/3);
        }
    }

    public boolean isHit(int x,int y) {
       return ((x>originX && x<originX+width) && (y>originY && y<originY+height));
    }


}

⌨️ 快捷键说明

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