document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /**
  2.  * Class SignalPane digunakan untuk menampilkan Lampu Traffic Light
  3.  *
  4.  * @author Muthia Qurrota Akyun
  5.  * 18 Oktober 2020
  6.  */
  7.  
  8.  import java.awt.*;  
  9.  import javax.swing.*;  
  10.  class SignalPane extends JPanel{  
  11.    Color on;  
  12.    int radius = 50;  
  13.    int border = 10;  
  14.    boolean isOn;  
  15.    SignalPane(Color color){  
  16.      on = color;  
  17.      isOn = false;  
  18.    }  
  19.    public void turnOn(boolean a){  
  20.      isOn = a;  
  21.      repaint();    
  22.    }  
  23.    public Dimension getPreferredSize(){  
  24.      int size = (radius+border)*2;  
  25.      return new Dimension( size, size );  
  26.    }  
  27.    protected void paintComponent(Graphics graphics){  
  28.      graphics.setColor( Color.black );  
  29.      graphics.fillRect(0,0,getWidth(),getHeight());  
  30.      if (isOn){  
  31.        graphics.setColor( on );  
  32.      } else {  
  33.        graphics.setColor( on.darker().darker().darker() );  
  34.      }  
  35.      graphics.fillOval( border,border,2*radius,2*radius );  
  36.    }  
  37.  }
');