猿问

lambda 表达式应该是最终的 FOR LOOP

我正在尝试从活动列表中检索一些项目,以便使用 JavaFX 显示它们,但同时我也希望能够在单击项目按钮时删除这些项目。如何区分我单击了哪个按钮以删除正确的行?我正在尝试将 lambda 表达式分配给按钮,但显然它在 for 循环中不起作用。关于如何解决这个问题的任何建议?


   gridPane = new GridPane();


    String path = "image.png";

    items = new ArrayList<>();


    items.add("Activity 1");

    items.add("Activity 2");

    items.add("Activity 3");


    for (int i=0; i<items.size(); i++) {

        gridPane.add(new Text(items.get(i)), 1, i);

        gridPane.add(new JFXButton("", new ImageView(path)),2,i);

        (JFXButton)gridPane.setOnMouseClicked(e -> deleteActivity(gridPane.getRowIndex(i)));

    }


墨色风雨
浏览 65回答 1
1回答

倚天杖

我假设你想要:JFXButton button = new JFXButton("", new ImageView(path);&nbsp; &nbsp;gridPane.add(button),2,i);button.setOnMouseClicked(e -> deleteActivity(gridPane.getRowIndex(i)));
随时随地看视频慕课网APP

相关分类

Java
我要回答