Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class FXMLDocumentController implements Initializable {
- @FXML
- private Pane pane;
- ObservableList<Rectangle> obdelniky;
- private final String[] typy = {"Plna", "Carkovana", "Teckovana"};
- double startX;
- double startY;
- @FXML
- private ColorPicker colorPicker;
- @FXML
- private ComboBox<String> cbOkraj;
- private Rectangle rec;
- @Override
- public void initialize(URL url, ResourceBundle rb) {
- obdelniky = FXCollections.observableArrayList();
- cbOkraj.getItems().addAll(typy);
- cbOkraj.getSelectionModel().selectFirst();
- doGradient();
- }
- @FXML
- private void mouseDragged(MouseEvent event) {
- double x = Math.abs(event.getX() - startX);
- double y = Math.abs(event.getY() - startY);
- rec.setWidth(2 * x);
- rec.setHeight(2 * y);
- rec.setX(startX - x);
- rec.setY(startY - y);
- }
- @FXML
- private void mousePressed(MouseEvent event) {
- if (event.isPrimaryButtonDown()) {
- startX = event.getX();
- startY = event.getY();
- rec = new Rectangle();
- rec.setWidth(2);
- rec.setHeight(1);
- rec.setStrokeWidth(2);
- switch (cbOkraj.getSelectionModel().getSelectedItem()) {
- case "Plna":
- break;
- case "Carkovana":
- rec.getStrokeDashArray().addAll(20d, 20d);
- break;
- case "Teckovana":
- rec.getStrokeDashArray().addAll(5d, 5d);
- break;
- }
- rec.setStroke(colorPicker.getValue());
- rec.setFill(Color.rgb(127, 127, 127));
- Rectangle rext = rec;
- rext.setOnMouseClicked(mouse -> {
- if (mouse.getButton() == MouseButton.SECONDARY) {
- FileChooser fileChooser = new FileChooser();
- fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("all", "*.*"));
- File file = fileChooser.showOpenDialog(IPOG_Zkouska_CtverceSobrazkem.stage);
- if(Objects.nonNull(file)) {
- Image newImage = new Image(file.toURI().toString());
- if (Objects.isNull(newImage) || newImage.isError()) {
- Alert alert = new Alert(Alert.AlertType.ERROR);
- alert.setHeaderText(null);
- alert.setContentText("Neplaný soubor!");
- alert.showAndWait();
- } else {
- ImageView iv = new ImageView(newImage);
- iv.setFitHeight(rext.getHeight());
- iv.setFitWidth(rext.getWidth());
- rext.setFill(new ImagePattern(iv.getImage()));
- }
- }
- }
- });
- pane.getChildren().add(rext);
- obdelniky.add(rext);
- }
- }
- private void doGradient() {
- Stop stops[] = {new Stop(0, Color.WHITE),
- // new Stop(0.25, Color.GREEN),
- // new Stop(0.5, Color.WHITE),
- // new Stop(0.75, Color.GREEN),
- new Stop(1, Color.BLUE)};
- LinearGradient grad = new LinearGradient(0, 1, 1, 1, true, CycleMethod.NO_CYCLE, stops);
- pane.setBackground(new Background(new BackgroundFill(grad, CornerRadii.EMPTY, Insets.EMPTY)));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement