Advertisement
Omar_Natour

omar test 2

Apr 7th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.69 KB | None | 0 0
  1. import javafx.application.Application;
  2.  
  3. import javafx.geometry.Pos;
  4. import javafx.scene.Scene;
  5. import javafx.scene.control.Button;
  6. import javafx.scene.control.RadioButton;
  7. import javafx.scene.control.ToggleGroup;
  8.  
  9. import javafx.stage.Stage;
  10. import javafx.scene.layout.*;
  11. import javafx.scene.paint.Color;
  12. import javafx.scene.shape.*;
  13.  
  14. public class Traffic extends Application {
  15.     BorderPane bPane = new BorderPane();
  16.  
  17.     public static void main(String[] args) {
  18.         ;
  19.         launch(args);
  20.     }
  21.  
  22.     @Override
  23.     public void start(Stage primaryStage) {
  24.  
  25.         bPane.setBottom(bottom());
  26.         bPane.setCenter(Light.createLight());
  27.  
  28.         Scene sce = new Scene(bPane, 250, 300);
  29.  
  30.         primaryStage.setTitle("Traffic");
  31.         primaryStage.setScene(sce);
  32.         primaryStage.show();
  33.         primaryStage.setResizable(false);
  34.  
  35.     }
  36.  
  37.     public HBox bottom() {
  38.         HBox selection = new HBox(15);
  39.  
  40.         RadioButton Red = new RadioButton("Red");
  41.         RadioButton Yellow = new RadioButton("Yellow");
  42.         RadioButton Green = new RadioButton("Green");
  43.         ToggleGroup group = new ToggleGroup();
  44.         Red.setToggleGroup(group);
  45.         Yellow.setToggleGroup(group);
  46.         Green.setToggleGroup(group);
  47.  
  48.         selection.getChildren().addAll(Red, Yellow, Green);
  49.         selection.setAlignment(Pos.CENTER);
  50.  
  51.         Red.setOnAction(e -> {
  52.             if (Red.isSelected())
  53.                 bPane.getChildren().add(Light.setRed());
  54.         });
  55.         Yellow.setOnAction(e -> {
  56.             if (Yellow.isSelected())
  57.                 bPane.getChildren().add(Light.setYellow());
  58.         });
  59.         Green.setOnAction(e -> {
  60.             if (Green.isSelected())
  61.                 bPane.getChildren().add(Light.setGreen());
  62.         });
  63.  
  64.         Red.fire();
  65.  
  66.  
  67.         return selection;
  68.  
  69.     }
  70.  
  71.     static class Light extends StackPane {
  72.  
  73.         public static int sel;
  74.  
  75.         public static Pane createLight() {
  76.  
  77.             Pane pane = new Pane();
  78.            
  79.  
  80.             Rectangle out = new Rectangle();
  81.             out.setHeight(200);
  82.             out.setWidth(75);
  83.             out.setFill(Color.TRANSPARENT);
  84.             out.setStroke(Color.BLACK);
  85.             out.setStrokeWidth(2);
  86.             out.setX(87.5);
  87.             out.setY(50);
  88.  
  89.             Circle outC1 = new Circle();
  90.             outC1.setCenterX(125);
  91.             outC1.setCenterY(90);
  92.             outC1.setRadius(20);
  93.             outC1.setFill(Color.TRANSPARENT);
  94.             outC1.setStroke(Color.BLACK);
  95.  
  96.             Circle outC2 = new Circle();
  97.             outC2.setCenterX(125);
  98.             outC2.setCenterY(150);
  99.             outC2.setRadius(20);
  100.             outC2.setFill(Color.TRANSPARENT);
  101.             outC2.setStroke(Color.BLACK);
  102.  
  103.             Circle outC3 = new Circle();
  104.             outC3.setCenterX(125);
  105.             outC3.setCenterY(210);
  106.             outC3.setRadius(20);
  107.             outC3.setFill(Color.TRANSPARENT);
  108.             outC3.setStroke(Color.BLACK);
  109.            
  110.             Circle red = new Circle();
  111.             red.setCenterX(125);
  112.             red.setCenterY(90);
  113.             red.setRadius(20);
  114.             Circle yellow = new Circle();
  115.             yellow.setCenterX(125);
  116.             yellow.setCenterY(150);
  117.             yellow.setRadius(20);
  118.             Circle green = new Circle();
  119.             green.setCenterX(125);
  120.             green.setCenterY(210);
  121.             green.setRadius(20);
  122.            
  123.  
  124.             if (sel == 0) {
  125.                
  126.                
  127.                 red.setFill(Color.RED);
  128.                 yellow.setFill(Color.WHITE);
  129.                 green.setFill(Color.WHITE);
  130.                
  131.  
  132.             } else if (sel == 1) {
  133.                
  134.                
  135.                 yellow.setFill(Color.YELLOW);
  136.  
  137.                 red.setFill(Color.WHITE);
  138.                 green.setFill(Color.WHITE);
  139.                
  140.  
  141.             } else if (sel == 2) {
  142.                
  143.                
  144.                 green.setFill(Color.GREEN);
  145.                 red.setFill(Color.WHITE);
  146.                 yellow.setFill(Color.WHITE);
  147.                
  148.             }
  149.            
  150.            
  151.             pane.getChildren().addAll(red,green,yellow);
  152.             pane.getChildren().add(out);
  153.             pane.getChildren().addAll(outC1, outC2, outC3);
  154.            
  155.  
  156.            
  157.            
  158.            
  159.  
  160.             return pane;
  161.         }
  162.  
  163.         public static Pane setRed() {
  164.  
  165.             sel = 0;
  166.             return createLight();
  167.  
  168.         }
  169.  
  170.         public static Pane setYellow() {
  171.             sel = 1;
  172.  
  173.             return createLight();
  174.         }
  175.  
  176.         public static Pane setGreen() {
  177.  
  178.             sel = 2;
  179.             return createLight();
  180.         }
  181.  
  182.     }
  183. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement