Removing an Edge from a Mouse Click that is NOT on the edge
up vote
0
down vote
favorite
I have a GUI application demonstrating undirected Graph structure. The Gui is available in here. One of the features is delete an edge between two vertices. So to delete an edge from the graph (GUI) a user can have two options. A user can hover over the mouse on the edge and click on it to delete that edge. Below is the following code for that part -
// assume there are some defined vertices v1, v2, ...
// an edge has an instance variable of Line class
// also assume that all vertices and edges are unique
Edge edge = new Edge(v1, v2);
edge.getLine().setCursor(Cursor.CROSSHAIR);
edge.getLine().setOnMouseClicked(e ->
view.getCenter().getChildren().remove(edge.getLine()));
graph.addEdge(v1, v2, edge);
view.getCenter().getChildren().add(edge.getLine());
and the second option is a user can click on the closet edge he/she wants to delete instead of clicking on the edge. Assume he/she is not clicking on the intersection of a line. The picture shows the problem. enter image description here. Let's consider a user wants to delete the Orange edge and the red coordinates show where a user clicked. Is there a way to delete the closest edge based on the click?
java object-oriented graph javafx
add a comment |
up vote
0
down vote
favorite
I have a GUI application demonstrating undirected Graph structure. The Gui is available in here. One of the features is delete an edge between two vertices. So to delete an edge from the graph (GUI) a user can have two options. A user can hover over the mouse on the edge and click on it to delete that edge. Below is the following code for that part -
// assume there are some defined vertices v1, v2, ...
// an edge has an instance variable of Line class
// also assume that all vertices and edges are unique
Edge edge = new Edge(v1, v2);
edge.getLine().setCursor(Cursor.CROSSHAIR);
edge.getLine().setOnMouseClicked(e ->
view.getCenter().getChildren().remove(edge.getLine()));
graph.addEdge(v1, v2, edge);
view.getCenter().getChildren().add(edge.getLine());
and the second option is a user can click on the closet edge he/she wants to delete instead of clicking on the edge. Assume he/she is not clicking on the intersection of a line. The picture shows the problem. enter image description here. Let's consider a user wants to delete the Orange edge and the red coordinates show where a user clicked. Is there a way to delete the closest edge based on the click?
java object-oriented graph javafx
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have a GUI application demonstrating undirected Graph structure. The Gui is available in here. One of the features is delete an edge between two vertices. So to delete an edge from the graph (GUI) a user can have two options. A user can hover over the mouse on the edge and click on it to delete that edge. Below is the following code for that part -
// assume there are some defined vertices v1, v2, ...
// an edge has an instance variable of Line class
// also assume that all vertices and edges are unique
Edge edge = new Edge(v1, v2);
edge.getLine().setCursor(Cursor.CROSSHAIR);
edge.getLine().setOnMouseClicked(e ->
view.getCenter().getChildren().remove(edge.getLine()));
graph.addEdge(v1, v2, edge);
view.getCenter().getChildren().add(edge.getLine());
and the second option is a user can click on the closet edge he/she wants to delete instead of clicking on the edge. Assume he/she is not clicking on the intersection of a line. The picture shows the problem. enter image description here. Let's consider a user wants to delete the Orange edge and the red coordinates show where a user clicked. Is there a way to delete the closest edge based on the click?
java object-oriented graph javafx
I have a GUI application demonstrating undirected Graph structure. The Gui is available in here. One of the features is delete an edge between two vertices. So to delete an edge from the graph (GUI) a user can have two options. A user can hover over the mouse on the edge and click on it to delete that edge. Below is the following code for that part -
// assume there are some defined vertices v1, v2, ...
// an edge has an instance variable of Line class
// also assume that all vertices and edges are unique
Edge edge = new Edge(v1, v2);
edge.getLine().setCursor(Cursor.CROSSHAIR);
edge.getLine().setOnMouseClicked(e ->
view.getCenter().getChildren().remove(edge.getLine()));
graph.addEdge(v1, v2, edge);
view.getCenter().getChildren().add(edge.getLine());
and the second option is a user can click on the closet edge he/she wants to delete instead of clicking on the edge. Assume he/she is not clicking on the intersection of a line. The picture shows the problem. enter image description here. Let's consider a user wants to delete the Orange edge and the red coordinates show where a user clicked. Is there a way to delete the closest edge based on the click?
java object-oriented graph javafx
java object-oriented graph javafx
edited 12 mins ago
asked 1 hour ago
Hamidur Rahman
436
436
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2fcodereview.stackexchange.com%2fquestions%2f208494%2fremoving-an-edge-from-a-mouse-click-that-is-not-on-the-edge%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