HayCZ

Untitled

Dec 12th, 2018
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.61 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package ipog_cv8_u2;
  7.  
  8. import java.net.URL;
  9. import java.util.ResourceBundle;
  10. import javafx.event.EventHandler;
  11. import javafx.fxml.FXML;
  12. import javafx.fxml.Initializable;
  13. import javafx.scene.control.Label;
  14. import javafx.scene.input.MouseEvent;
  15. import javafx.scene.layout.Pane;
  16. import javafx.scene.paint.Color;
  17. import javafx.scene.shape.*;
  18.  
  19. /**
  20.  * FXML Controller class
  21.  *
  22.  * @author david
  23.  */
  24. public class FXMLDocumentController implements Initializable {
  25.  
  26.     @FXML
  27.     private Label label;
  28.     @FXML
  29.     private Pane pane;
  30.  
  31.     /**
  32.      * Initializes the controller class.
  33.      */
  34.     @Override
  35.     public void initialize(URL url, ResourceBundle rb) {
  36.  
  37.     }
  38.  
  39.     private Rectangle createRect(double x, double y, int width, int height, boolean type) {
  40.         Rectangle rect = new Rectangle(x, y, width, height);
  41.         if (type == true) {
  42.             rect.setFill(Color.LIME);
  43.         } else {
  44.             rect.setFill(Color.TRANSPARENT);
  45.             rect.setStroke(Color.LIME);
  46.         }
  47.         rect.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() {
  48.             @Override
  49.             public void handle(MouseEvent event) {
  50.                 switch (event.getButton()) {
  51.                     case SECONDARY:
  52.                         pane.getChildren().remove(rect);
  53.                         break;
  54.                 }
  55.             }
  56.         });
  57.  
  58.          rect.addEventHandler(MouseEvent.MOUSE_ENTERED, new EventHandler<MouseEvent>() {
  59.             @Override
  60.             public void handle(MouseEvent event) {
  61.                     rect.setFill(Color.BLUE);
  62.             }
  63.         });
  64.          
  65.          rect.addEventHandler(MouseEvent.MOUSE_EXITED, new EventHandler<MouseEvent>() {
  66.             @Override
  67.              public void handle(MouseEvent event) {
  68.                     rect.setFill(Color.LIME);
  69.             }
  70.         });
  71.         return rect;
  72.     }
  73.  
  74.     @FXML
  75.     private void paneOnMousePressedHandler(MouseEvent event) {
  76.  
  77.         switch (event.getButton()) {
  78.             case PRIMARY:
  79.                 Rectangle rect;
  80.                 if (event.isControlDown()) {
  81.                     rect = createRect(event.getX() - 10, event.getY() - 10, 20, 20, false);
  82.                 } else {
  83.                     rect = createRect(event.getX() - 10, event.getY() - 10, 20, 20, true);
  84.                 }
  85.                 pane.getChildren().add(rect);
  86.                 break;
  87.         }
  88.     }
  89.  
  90. }
Add Comment
Please, Sign In to add comment