diff src/samer/core_/util/swing/LED.java @ 0:bf79fb79ee13

Initial Mercurial check in.
author samer
date Tue, 17 Jan 2012 17:50:20 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/samer/core_/util/swing/LED.java	Tue Jan 17 17:50:20 2012 +0000
@@ -0,0 +1,36 @@
+/*
+ *	Copyright (c) 2000, Samer Abdallah, King's College London.
+ *	All rights reserved.
+ *
+ *	This software is provided AS iS and WITHOUT ANY WARRANTY; 
+ *	without even the implied warranty of MERCHANTABILITY or 
+ *	FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+package samer.core.util.swing;
+import  javax.swing.*;
+import  java.awt.*;
+import  java.awt.event.*;
+
+public class LED extends JComponent
+{
+	boolean state=false;
+	
+	public LED(Color fg) { this(fg,fg.darker().darker()); }
+	public LED(Color fg, Color bg) { this(); setBackground(bg); setForeground(fg);	}
+	public LED() {}
+	
+	public void update(Graphics g) { paint(g); }
+	public void paint(Graphics g) {
+		g.setColor( state ? getForeground() : getBackground());
+		g.fillRect(0,0,getWidth(),getHeight());
+	}
+
+	public final void on() { set(true); }
+	public final void off() { set(false); }
+	public final void set( boolean state) { 
+		if (state!=this.state) { this.state=state; repaint(); }
+	}
+
+	public Dimension getPreferredSize() { return new Dimension(8,8); }
+}