как получить индекс столбца и индекс строки в области сетки javafx

как получить индекс столбца и индекс строки в GridPane JavaFX. см. код ниже

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);

Когда мышь введена в текст1, я хочу получить индекс столбца и индекс строки GridPane

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

Пожалуйста, дайте мне знать.


person java baba    schedule 13.06.2013    source источник


Ответы (2)


Вы можете получить индекс строки и индекс столбца, используя статические методы getRowIndex() и getColumnIndex(), которые находятся в классе GridPane.

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

См. ссылка.

person Shreyas Dave    schedule 14.06.2013
comment
могу ли я получить индекс, не добавляя ни одного узла в панель сетки - person java baba; 15.07.2013
comment
Метод GridPane.getColumnIndex(text1) или GridPane.getRowIndex(text1) не добавит никаких узлов в GridPane. Он просто возвращает индекс переданного элемента. - person Sammie; 05.09.2018

Когда я искал тот же ответ, что и OP, я много искал и в конце концов нашел это.

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

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

Он работает, чтобы получить индекс в целочисленном формате, щелкнув узел, из которого вы хотите получить координаты, если вы используете GridPane для создания своей сетки.

person MedMan    schedule 10.12.2020
comment
Чем ваш ответ более полезен, чем ответ @ShreyasDave? - person NomadMaker; 10.12.2020