Scenebuilder/JavaFX polygons mouse event onClick
up vote
1
down vote
favorite
Link to scenebuilder and some Java code: https://imgur.com/a/FOr1Mag
Essentially, navigating and pictures will change based on where the person is going/facing.
I have polygons as D-pad arrows and I want to be able to detect when a person clicks on them. The "up" arrow polygon ID is "forward"
I read that forward.onMouseClickedProperty.addListener() or something can be used, but when I looked up "javafx polygon mouse event" I don't get how to implement into my project.
Can anyone tell me how to set up forward.onMouseClickedProperty.addListener()?
Thanks!
java eclipse javafx scenebuilder eclipse-photon
add a comment |
up vote
1
down vote
favorite
Link to scenebuilder and some Java code: https://imgur.com/a/FOr1Mag
Essentially, navigating and pictures will change based on where the person is going/facing.
I have polygons as D-pad arrows and I want to be able to detect when a person clicks on them. The "up" arrow polygon ID is "forward"
I read that forward.onMouseClickedProperty.addListener() or something can be used, but when I looked up "javafx polygon mouse event" I don't get how to implement into my project.
Can anyone tell me how to set up forward.onMouseClickedProperty.addListener()?
Thanks!
java eclipse javafx scenebuilder eclipse-photon
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
Link to scenebuilder and some Java code: https://imgur.com/a/FOr1Mag
Essentially, navigating and pictures will change based on where the person is going/facing.
I have polygons as D-pad arrows and I want to be able to detect when a person clicks on them. The "up" arrow polygon ID is "forward"
I read that forward.onMouseClickedProperty.addListener() or something can be used, but when I looked up "javafx polygon mouse event" I don't get how to implement into my project.
Can anyone tell me how to set up forward.onMouseClickedProperty.addListener()?
Thanks!
java eclipse javafx scenebuilder eclipse-photon
Link to scenebuilder and some Java code: https://imgur.com/a/FOr1Mag
Essentially, navigating and pictures will change based on where the person is going/facing.
I have polygons as D-pad arrows and I want to be able to detect when a person clicks on them. The "up" arrow polygon ID is "forward"
I read that forward.onMouseClickedProperty.addListener() or something can be used, but when I looked up "javafx polygon mouse event" I don't get how to implement into my project.
Can anyone tell me how to set up forward.onMouseClickedProperty.addListener()?
Thanks!
java eclipse javafx scenebuilder eclipse-photon
java eclipse javafx scenebuilder eclipse-photon
asked Nov 19 at 11:05
thefalsehuman
405
405
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
public class ClickablePolygonApp extends Application {
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Polygon polygon = new Polygon();
polygon.getPoints().addAll(new Double {
0., 80.,
80., 80.,
40., 20.
});
StackPane stackPane = new StackPane(polygon);
stackPane.setPrefSize(400., 400.);
stage.setScene(new Scene(stackPane));
stage.show();
polygon.setOnMouseClicked(mouseEvent -> System.out.println("1st way to handle Click!"));
polygon.addEventHandler(MouseEvent.MOUSE_CLICKED, mouseEvent -> System.out.println("2nd way to handle click!"));
}
}
How can I tie it to my specific polygon in Scenebuilder if the id is "forward"? Thanks
– thefalsehuman
Nov 20 at 2:44
new FXMLLoader(getClass().getClassLoader().getResource("yourFxml")).setController(yourControllerClass);yourControllerClass should have field@FXML Polygon forward. Now it is binded.
– Przemek Krysztofiak
Nov 20 at 7:02
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
public class ClickablePolygonApp extends Application {
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Polygon polygon = new Polygon();
polygon.getPoints().addAll(new Double {
0., 80.,
80., 80.,
40., 20.
});
StackPane stackPane = new StackPane(polygon);
stackPane.setPrefSize(400., 400.);
stage.setScene(new Scene(stackPane));
stage.show();
polygon.setOnMouseClicked(mouseEvent -> System.out.println("1st way to handle Click!"));
polygon.addEventHandler(MouseEvent.MOUSE_CLICKED, mouseEvent -> System.out.println("2nd way to handle click!"));
}
}
How can I tie it to my specific polygon in Scenebuilder if the id is "forward"? Thanks
– thefalsehuman
Nov 20 at 2:44
new FXMLLoader(getClass().getClassLoader().getResource("yourFxml")).setController(yourControllerClass);yourControllerClass should have field@FXML Polygon forward. Now it is binded.
– Przemek Krysztofiak
Nov 20 at 7:02
add a comment |
up vote
1
down vote
accepted
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
public class ClickablePolygonApp extends Application {
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Polygon polygon = new Polygon();
polygon.getPoints().addAll(new Double {
0., 80.,
80., 80.,
40., 20.
});
StackPane stackPane = new StackPane(polygon);
stackPane.setPrefSize(400., 400.);
stage.setScene(new Scene(stackPane));
stage.show();
polygon.setOnMouseClicked(mouseEvent -> System.out.println("1st way to handle Click!"));
polygon.addEventHandler(MouseEvent.MOUSE_CLICKED, mouseEvent -> System.out.println("2nd way to handle click!"));
}
}
How can I tie it to my specific polygon in Scenebuilder if the id is "forward"? Thanks
– thefalsehuman
Nov 20 at 2:44
new FXMLLoader(getClass().getClassLoader().getResource("yourFxml")).setController(yourControllerClass);yourControllerClass should have field@FXML Polygon forward. Now it is binded.
– Przemek Krysztofiak
Nov 20 at 7:02
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
public class ClickablePolygonApp extends Application {
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Polygon polygon = new Polygon();
polygon.getPoints().addAll(new Double {
0., 80.,
80., 80.,
40., 20.
});
StackPane stackPane = new StackPane(polygon);
stackPane.setPrefSize(400., 400.);
stage.setScene(new Scene(stackPane));
stage.show();
polygon.setOnMouseClicked(mouseEvent -> System.out.println("1st way to handle Click!"));
polygon.addEventHandler(MouseEvent.MOUSE_CLICKED, mouseEvent -> System.out.println("2nd way to handle click!"));
}
}
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
public class ClickablePolygonApp extends Application {
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Polygon polygon = new Polygon();
polygon.getPoints().addAll(new Double {
0., 80.,
80., 80.,
40., 20.
});
StackPane stackPane = new StackPane(polygon);
stackPane.setPrefSize(400., 400.);
stage.setScene(new Scene(stackPane));
stage.show();
polygon.setOnMouseClicked(mouseEvent -> System.out.println("1st way to handle Click!"));
polygon.addEventHandler(MouseEvent.MOUSE_CLICKED, mouseEvent -> System.out.println("2nd way to handle click!"));
}
}
answered Nov 19 at 13:34
Przemek Krysztofiak
742
742
How can I tie it to my specific polygon in Scenebuilder if the id is "forward"? Thanks
– thefalsehuman
Nov 20 at 2:44
new FXMLLoader(getClass().getClassLoader().getResource("yourFxml")).setController(yourControllerClass);yourControllerClass should have field@FXML Polygon forward. Now it is binded.
– Przemek Krysztofiak
Nov 20 at 7:02
add a comment |
How can I tie it to my specific polygon in Scenebuilder if the id is "forward"? Thanks
– thefalsehuman
Nov 20 at 2:44
new FXMLLoader(getClass().getClassLoader().getResource("yourFxml")).setController(yourControllerClass);yourControllerClass should have field@FXML Polygon forward. Now it is binded.
– Przemek Krysztofiak
Nov 20 at 7:02
How can I tie it to my specific polygon in Scenebuilder if the id is "forward"? Thanks
– thefalsehuman
Nov 20 at 2:44
How can I tie it to my specific polygon in Scenebuilder if the id is "forward"? Thanks
– thefalsehuman
Nov 20 at 2:44
new FXMLLoader(getClass().getClassLoader().getResource("yourFxml")).setController(yourControllerClass); yourControllerClass should have field @FXML Polygon forward. Now it is binded.– Przemek Krysztofiak
Nov 20 at 7:02
new FXMLLoader(getClass().getClassLoader().getResource("yourFxml")).setController(yourControllerClass); yourControllerClass should have field @FXML Polygon forward. Now it is binded.– Przemek Krysztofiak
Nov 20 at 7:02
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373278%2fscenebuilder-javafx-polygons-mouse-event-onclick%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown