Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package ipog_cv8_u2;
- import java.net.URL;
- import java.util.ResourceBundle;
- import javafx.event.EventHandler;
- import javafx.fxml.FXML;
- import javafx.fxml.Initializable;
- import javafx.scene.control.Label;
- import javafx.scene.input.MouseEvent;
- import javafx.scene.layout.Pane;
- import javafx.scene.paint.Color;
- import javafx.scene.shape.*;
- /**
- * FXML Controller class
- *
- * @author david
- */
- public class FXMLDocumentController implements Initializable {
- @FXML
- private Label label;
- @FXML
- private Pane pane;
- /**
- * Initializes the controller class.
- */
- @Override
- public void initialize(URL url, ResourceBundle rb) {
- }
- private Rectangle createRect(double x, double y, int width, int height, boolean type) {
- Rectangle rect = new Rectangle(x, y, width, height);
- if (type == true) {
- rect.setFill(Color.LIME);
- } else {
- rect.setFill(Color.TRANSPARENT);
- rect.setStroke(Color.LIME);
- }
- rect.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() {
- @Override
- public void handle(MouseEvent event) {
- switch (event.getButton()) {
- case SECONDARY:
- pane.getChildren().remove(rect);
- break;
- }
- }
- });
- rect.addEventHandler(MouseEvent.MOUSE_ENTERED, new EventHandler<MouseEvent>() {
- @Override
- public void handle(MouseEvent event) {
- rect.setFill(Color.BLUE);
- }
- });
- rect.addEventHandler(MouseEvent.MOUSE_EXITED, new EventHandler<MouseEvent>() {
- @Override
- public void handle(MouseEvent event) {
- rect.setFill(Color.LIME);
- }
- });
- return rect;
- }
- @FXML
- private void paneOnMousePressedHandler(MouseEvent event) {
- switch (event.getButton()) {
- case PRIMARY:
- Rectangle rect;
- if (event.isControlDown()) {
- rect = createRect(event.getX() - 10, event.getY() - 10, 20, 20, false);
- } else {
- rect = createRect(event.getX() - 10, event.getY() - 10, 20, 20, true);
- }
- pane.getChildren().add(rect);
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment