?? gbutton.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 + -