Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GridPane JavaFX-8上的鼠标单击事件_Java_Mouseevent_Javafx 8_Gridpane - Fatal编程技术网

GridPane JavaFX-8上的鼠标单击事件

GridPane JavaFX-8上的鼠标单击事件,java,mouseevent,javafx-8,gridpane,Java,Mouseevent,Javafx 8,Gridpane,解决办法可能是盯着我的脸看。但这是我的问题 看看这个方法: public void showUserData() { int numUsers = usersModel.numberOfUsers(); // number of users(rows) in the database ColumnConstraints column1 = new ColumnConstraints(); column1.setPercentWidth(40); ColumnCo

解决办法可能是盯着我的脸看。但这是我的问题

看看这个方法:

public void showUserData() {
    int numUsers = usersModel.numberOfUsers(); // number of users(rows) in the database

    ColumnConstraints column1 = new ColumnConstraints();
    column1.setPercentWidth(40);
    ColumnConstraints column2 = new ColumnConstraints();
    column2.setPercentWidth(60);

    int counter = 0;

    for(int i = 0; i <= numUsers - 1; i++) {
        subGrid = new GridPane();
        subGrid.getColumnConstraints().addAll(column1, column2);
        userImage = new ImageView();

        subGrid.setStyle("-fx-background-color: #dddddd;");

        subGrid.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent mouseEvent) {
                System.out.println("mouse click detected! " + mouseEvent.getSource());
                subGrid.setStyle("-fx-background-color: blue;");
            }
        });

        vbox = new VBox();

        vbox.getChildren().add(new Label("Name: " + getUserData().get(counter)));
        vbox.getChildren().add(new Label("Username: " + getUserData().get(counter + 1)));
        vbox.getChildren().add(new Label("Position: " + getUserData().get(counter + 2)));

        subGrid.add(vbox, 1, 0);

        user = new Image("file:///" + getUserImage().get(i));
        userImage.setFitWidth(150);
        userImage.setFitHeight(150);
        userImage.setSmooth(true);
        userImage.setPreserveRatio(true);
        userImage.setImage(user);

        subGrid.add(userImage, 0, 0);

        if(i % 2 == 0 && i == 0) {
            mainGrid.add(subGrid, 0, 0);
        } else if (i % 2 == 0 && i != 0){
            mainGrid.add(subGrid, 0, i - 1);
        } else {
            mainGrid.add(subGrid, 1, i - 1);
        }

        scroll.setContent(mainGrid);
        counter = counter + 3;
    }
}
public void showUserData(){
int numUsers=usersModel.numberOfUsers();//数据库中的用户数(行)
ColumnConstraints column1=新的ColumnConstraints();
列1.设置百分比宽度(40);
ColumnConstraints column2=新的ColumnConstraints();
第2列:设置百分比宽度(60);
int计数器=0;

对于(int i=0;i)它应该可以工作。您是否可以创建一个(即,创建一个其他人可以运行的完整应用程序,该应用程序具有您需要的功能,并且不依赖外部数据等)例如,只需在一个大网格窗格中的网格窗格中放置一组标签。嗨!很抱歉没有早点回来。我决定从一个基于网格窗格的表实现切换到一个真正的基于TableView的样式。这是由于TableView提供的过滤功能。我对堆栈溢出非常陌生,如何结束一个问题ableView过滤有它自己的一系列问题,我将为其提出另一个问题。