public class Controller { @FXML private ResourceBundle resources; @FXML private URL location; @FXML private Pane pane; @FXML private Label vertex2; @FXML void say(MouseEvent e) { count++; int EX, EY; EX = (int)e.getSceneX(); EY = (int)e.getSceneY(); xs.add(EX); ys.add(EY); System.out.println(xs); System.out.println(ys); draw_Vertex(EX, EY); } @FXML void draw_Line(MouseEvent e) { vertex2.setStyle("-fx-border-color: c90000;"); } void draw_Vertex(int EX, int EY){ vertex2 = new Label(Integer.toString(count)); vertex2.setAlignment(CENTER); vertex2.setContentDisplay(ContentDisplay.CENTER); vertex2.setPrefSize(90, 90); vertex2.setStyle("-fx-border-color: c90000; -fx-border-radius: 99;"); vertex2.setCursor(Cursor.HAND); vertex2.setTranslateX(EX-45); vertex2.setTranslateY(EY-45); pane.getChildren().add(vertex2); } @FXML void initialize() { } ArrayList<Integer> xs = new ArrayList<>(); ArrayList<Integer> ys = new ArrayList<>(); int count = 0; }
<AnchorPane fx:id="field" cacheShape="false" centerShape="false" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="900.0" prefWidth="1300.0" scaleShape="false" style="-fx-background-color: #b2b2b2;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller"> <children> <ChoiceBox layoutX="890.0" layoutY="766.0" prefHeight="42.0" prefWidth="183.0" /> <Label fx:id="Lab" layoutX="1122.0" layoutY="30.0" prefHeight="35.0" prefWidth="118.0" text="Welcome"> <font> <Font size="27.0" /> </font> </Label> <Pane fx:id="pane" onMouseClicked="#say" prefHeight="742.0" prefWidth="1095.0" style="-fx-background-color: fafafa;"> <children> <Label fx:id="vertex2" onMouseClicked="#draw_Line" /> <Label fx:id="vertex" alignment="CENTER" contentDisplay="TOP" disable="true" layoutX="159.0" layoutY="234.0" prefHeight="102.0" prefWidth="102.0" style="-fx-border-color: c90000; -fx-border-radius: 99;" text="1" textOverrun="CLIP" visible="false"> <font> <Font name="Bookshelf Symbol 7" size="37.0" /> </font> <cursor> <Cursor fx:constant="HAND" /> </cursor> </Label> </children> </Pane> </children> </AnchorPane>
По клику на Pane добавляется вершина, а по клику на добавленную вершину (он же label), снова добавляется вершина так, будто я на панель нажимаю. Метод draw_Line будет еще дописан, чтобы вершины соединялись, а пока просто чтобы цвет менял хотя бы нужно