8

how get column index and row index in GridPane of JavaFX. see the code below

Text text1 = new Text("Text 1");
Text text2 = new Text("Text 2");
StackPane root = new StackPane();
GridPane gridPane = new GridPane();
gridPane.add(text1, 0, 0);
gridPane.add(text2, 1, 0);

When Mouse Entered On text1 I want to get the column index and row index of GridPane

text1.setOnMouseEntered(new EventHandler<MouseEvent>() {
    @Override
    public void handle(MouseEvent e) {
        //want to get column index =0 and row index=0
    }
});

Please let me know.

2 Answers 2

10

You can get the row index and column index by utilising the static methods getRowIndex() and getColumnIndex() which are located in the GridPane class.

System.out.println("Row: " + GridPane.getRowIndex(text1));
System.out.println("Column: " + GridPane.getColumnIndex(text1));

See for the reference.

Sign up to request clarification or add additional context in comments.

2 Comments

can i get index without getting add any node on grid pane
The method GridPane.getColumnIndex(text1) or GridPane.getRowIndex(text1) will not add any node on the GridPane. It just returns the index of the passed item.
-1

When i was looking for the same answer as OP I searched a lot and eventually found this.

GridPane.getColumnIndex((Node) e.getTarget());

GridPane.getRowIndex((Node) e.getTarget());

It works to get the index in an Integer format by clicking on the Node you want the coordinates from if you are using a GridPane to make your "Grid"

1 Comment

How is your answer any more useful than that of @ShreyasDave?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.