import java.awt.*; class LED extends Component { int radius; Color color; boolean on; public LED(int r, Color c) { super(); radius=r; color=c; } public LED() { this(10,Color.red); } public void setColor(Color c) { color=c;repaint(); } public Color getColor() { return color; } public void setOn(boolean o) { on=o;repaint(); } public boolean getOn() { return on; } public void paint(Graphics g) { g.setColor( on ? color : color.darker().darker()); g.fillOval(2,2,radius*2,radius*2); for(int i=(radius/6);i<(radius/2);i++) { g.setColor(Color.white); g.drawArc(3+i,3+i,radius, radius,90,90); if(!on) { g.setColor(Color.black); g.drawArc(radius,radius,radius*2-(i+3),radius*2-(i+3),270,90); } } } public Dimension getPreferredSize() { return new Dimension(2*radius+4,2*radius+4); } public Dimension getMaximumSize() { return getPreferredSize(); } public Dimension getMinimumSize() { return getPreferredSize(); } }