import java.awt.*; /* GENERIC WIDGET */ public class Widget extends Rectangle { public Color bgColor = new Color(255,230,230), fgColor = Color.black; protected boolean isDown = false; //---------------- OBJECT CONSTRUCTOR public Widget(int x, int y, int width, int height) { super(x, y, width, height); } //---------------- HANDLING MOUSE EVENTS public boolean down(int x, int y) { // DOWN EVENT return isDown = inside(x,y); } public boolean drag(int x, int y) { // DRAG EVENT return isDown; } public boolean up(int x, int y) { // UP EVENT if (isDown) { isDown = false; return true; // IF WAS DOWN, THEN RETURN TRUE } return false; // OTHERWISE, RETURN FALSE } //---------------- RENDERING THE WIDGET public void render(Graphics g) { g.setColor(bgColor); g.fill3DRect(x, y, width, height, true); } }