Erinevus lehekülje "ITI0011:praktikum 11 N8" redaktsioonide vahel
(Uus lehekülg: 'Tagasi ITI0011 lehele. == Üldine == Praktikum: 13.11.2014 kell 8:00 == Koodinäide == ...') |
|||
(ei näidata sama kasutaja üht vahepealset redaktsiooni) | |||
8. rida: | 8. rida: | ||
== Koodinäide == | == Koodinäide == | ||
− | ... | + | '''Kimp.java''' |
+ | <source lang="java"> | ||
+ | import javafx.application.Application; | ||
+ | import javafx.event.EventHandler; | ||
+ | import javafx.event.EventType; | ||
+ | import javafx.scene.Scene; | ||
+ | import javafx.scene.input.MouseEvent; | ||
+ | import javafx.scene.layout.BorderPane; | ||
+ | import javafx.scene.layout.Pane; | ||
+ | import javafx.scene.paint.Color; | ||
+ | import javafx.scene.shape.Polyline; | ||
+ | import javafx.stage.Stage; | ||
+ | |||
+ | public class Kimp extends Application { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | launch(args); | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public void start(Stage primaryStage) throws Exception { | ||
+ | BorderPane root = new BorderPane(); | ||
+ | Scene scene = new Scene(root, 500, 500); | ||
+ | |||
+ | Pane drawPane = new Pane(); | ||
+ | root.setCenter(drawPane); | ||
+ | |||
+ | primaryStage.setScene(scene); | ||
+ | primaryStage.show(); | ||
+ | // class MyHandler implements EventHandler<MouseEvent> { | ||
+ | // handle() | ||
+ | // } | ||
+ | // EventHandler<MouseEvent> myHandler = new MyHandler(); | ||
+ | EventHandler<MouseEvent> myHandler = new EventHandler<MouseEvent>() { | ||
+ | |||
+ | @Override | ||
+ | public void handle(MouseEvent event) { | ||
+ | if (event.getEventType() == MouseEvent.MOUSE_DRAGGED) { | ||
+ | System.out.println("drag:" + event.getX() + ", " + event.getY()); | ||
+ | // drag | ||
+ | // get the last line from out app ?? | ||
+ | // add current point to the line | ||
+ | } else if (event.getEventType() == MouseEvent.MOUSE_PRESSED) { | ||
+ | System.out.println("press"); | ||
+ | // press | ||
+ | // create a new line | ||
+ | // add current point to the line | ||
+ | // add line to our application (into draw pane) | ||
+ | } | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | drawPane.addEventHandler(MouseEvent.MOUSE_DRAGGED, myHandler); | ||
+ | drawPane.addEventHandler(MouseEvent.MOUSE_PRESSED, myHandler); | ||
+ | /*drawPane.addEventHandler(MouseEvent.MOUSE_DRAGGED, (event) -> { | ||
+ | // draw line | ||
+ | });*/ | ||
+ | /*drawPane.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() { | ||
+ | |||
+ | @Override | ||
+ | public void handle(MouseEvent arg0) { | ||
+ | // TODO Auto-generated method stub | ||
+ | |||
+ | } | ||
+ | });*/ | ||
+ | |||
+ | // press: | ||
+ | // create a new line | ||
+ | Polyline line = new Polyline(); | ||
+ | // add line to app | ||
+ | drawPane.getChildren().add(line); | ||
+ | // add a point to the line | ||
+ | line.getPoints().add(10.0); // x | ||
+ | line.getPoints().add(10.0); // y | ||
+ | |||
+ | // drag: | ||
+ | // drawPane.getChildren() -> list | ||
+ | // line = last line from getChildren() | ||
+ | |||
+ | // add another point to the line | ||
+ | line.getPoints().add(100.0); // x | ||
+ | line.getPoints().add(90.0); // y | ||
+ | |||
+ | // create another line | ||
+ | line = new Polyline(); | ||
+ | line.setStroke(Color.RED); | ||
+ | drawPane.getChildren().add(line); | ||
+ | line.getPoints().add(66.0); // x | ||
+ | line.getPoints().add(12.0); // y | ||
+ | |||
+ | line.getPoints().add(67.0); // x | ||
+ | line.getPoints().add(13.0); // y | ||
+ | |||
+ | line.getPoints().add(69.0); // x | ||
+ | line.getPoints().add(15.0); // y | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </source> |
Viimane redaktsioon: 13. november 2014, kell 06:24
Tagasi ITI0011 lehele.
Üldine
Praktikum: 13.11.2014 kell 8:00
Koodinäide
Kimp.java <source lang="java"> import javafx.application.Application; import javafx.event.EventHandler; import javafx.event.EventType; import javafx.scene.Scene; import javafx.scene.input.MouseEvent; import javafx.scene.layout.BorderPane; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.scene.shape.Polyline; import javafx.stage.Stage;
public class Kimp extends Application {
public static void main(String[] args) { launch(args); }
@Override public void start(Stage primaryStage) throws Exception { BorderPane root = new BorderPane(); Scene scene = new Scene(root, 500, 500);
Pane drawPane = new Pane(); root.setCenter(drawPane);
primaryStage.setScene(scene); primaryStage.show(); // class MyHandler implements EventHandler<MouseEvent> { // handle() // } // EventHandler<MouseEvent> myHandler = new MyHandler(); EventHandler<MouseEvent> myHandler = new EventHandler<MouseEvent>() {
@Override public void handle(MouseEvent event) { if (event.getEventType() == MouseEvent.MOUSE_DRAGGED) { System.out.println("drag:" + event.getX() + ", " + event.getY()); // drag // get the last line from out app ?? // add current point to the line } else if (event.getEventType() == MouseEvent.MOUSE_PRESSED) { System.out.println("press"); // press // create a new line // add current point to the line // add line to our application (into draw pane) } } };
drawPane.addEventHandler(MouseEvent.MOUSE_DRAGGED, myHandler); drawPane.addEventHandler(MouseEvent.MOUSE_PRESSED, myHandler); /*drawPane.addEventHandler(MouseEvent.MOUSE_DRAGGED, (event) -> { // draw line });*/ /*drawPane.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() {
@Override public void handle(MouseEvent arg0) { // TODO Auto-generated method stub
} });*/
// press: // create a new line Polyline line = new Polyline(); // add line to app drawPane.getChildren().add(line); // add a point to the line line.getPoints().add(10.0); // x line.getPoints().add(10.0); // y
// drag: // drawPane.getChildren() -> list // line = last line from getChildren()
// add another point to the line line.getPoints().add(100.0); // x line.getPoints().add(90.0); // y
// create another line line = new Polyline(); line.setStroke(Color.RED); drawPane.getChildren().add(line); line.getPoints().add(66.0); // x line.getPoints().add(12.0); // y
line.getPoints().add(67.0); // x line.getPoints().add(13.0); // y
line.getPoints().add(69.0); // x line.getPoints().add(15.0); // y }
} </source>