Advertisement
mnaufaldillah

SignalPane Tugas 2

Oct 18th, 2020
559
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.97 KB | None | 0 0
  1.  
  2. /**
  3.  * Class untuk menggambar lampu lalu lintas
  4.  */
  5.  
  6. import java.awt.*;  
  7. import javax.swing.*;
  8. class SignalPane extends JPanel
  9. {
  10.     Color on;
  11.     int radius = 50;
  12.     int border = 10;
  13.     boolean isOn;
  14.    
  15.     SignalPane(Color color)
  16.     {
  17.         on = color;
  18.         isOn = false;
  19.     }
  20.    
  21.     public void turnOn(boolean a)
  22.     {
  23.         isOn = a;
  24.         repaint();
  25.     }
  26.    
  27.     public Dimension getPrefereedSize()
  28.     {
  29.         int size = (radius+border)*2;
  30.         return new Dimension(size, size);
  31.     }
  32.    
  33.     protected void paintComponent(Graphics graphics)
  34.     {
  35.         graphics.setColor(Color.black);
  36.         graphics.fillRect(0, 0, getWidth(), getHeight());
  37.        
  38.         if (isOn)
  39.         {
  40.             graphics.setColor(on);
  41.         }
  42.         else
  43.         {
  44.             graphics.setColor(on.darker().darker().darker());
  45.         }
  46.        
  47.        
  48.         graphics.fillOval(border, border, 2*radius, 2*radius);
  49.     }
  50. }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement