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过滤有它自己的一系列问题,我将为其提出另一个问题。