PaintApplication.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package drawing;
  2. import javafx.application.Application;
  3. import javafx.event.ActionEvent;
  4. import javafx.geometry.Insets;
  5. import javafx.scene.Scene;
  6. import javafx.scene.control.Button;
  7. import javafx.scene.layout.BorderPane;
  8. import javafx.scene.layout.HBox;
  9. import javafx.stage.Stage;
  10. /**
  11. * Created by lewandowski on 20/12/2020.
  12. */
  13. public class PaintApplication extends Application {
  14. public static final int WIDTH = 800;
  15. public static final int HEIGHT = 600;
  16. private Scene scene;
  17. private BorderPane root;
  18. private DrawingPane drawingPane;
  19. private Button clearButton;
  20. private Button rectangleButton;
  21. private Button circleButton;
  22. @Override
  23. public void start(Stage primaryStage) throws Exception {
  24. root = new BorderPane();
  25. scene = new Scene(root, WIDTH, HEIGHT);
  26. root.getStylesheets().add(
  27. PaintApplication.class.getClassLoader().getResource("style/Paint.css").toExternalForm());
  28. drawingPane = new DrawingPane();
  29. drawingPane.getStyleClass().add("drawingPane");
  30. root.setCenter(drawingPane);
  31. HBox hBox = new HBox();
  32. clearButton = new Button("Clear");
  33. clearButton.addEventFilter(ActionEvent.ACTION, new ClearButtonHandler(drawingPane));
  34. rectangleButton = new Button("Rectangle");
  35. rectangleButton.addEventFilter(ActionEvent.ACTION, new RectangleButtonHandler(drawingPane));
  36. circleButton = new Button("Circle");
  37. circleButton.addEventFilter(ActionEvent.ACTION, new EllipseButtonHandler(drawingPane));
  38. hBox.getChildren().addAll(clearButton, rectangleButton, circleButton);
  39. hBox.setPadding(new Insets(5));
  40. hBox.setSpacing(5.0);
  41. hBox.getStyleClass().add("toolbar");
  42. root.setTop(hBox);
  43. primaryStage.setTitle("Drawing");
  44. primaryStage.setScene(scene);
  45. primaryStage.show();
  46. }
  47. public DrawingPane getDrawingPane() {
  48. return drawingPane;
  49. }
  50. public static void main(String[] args) {
  51. launch(args);
  52. }
  53. }