import javafx.event.EventHandler;
import javafx.scene.input.MouseEvent;
import anywheresoftware.b4a.BA;
import anywheresoftware.b4j.objects.NodeWrapper;
import anywheresoftware.b4j.objects.PaneWrapper;
@BA.Author("Martin Pearman")
@BA.Events(values={
"MouseClicked(Node1 As Node)"
})
@BA.ShortName("GridPane")
@BA.Version(0.01f)
public class GridPane extends PaneWrapper<javafx.scene.layout.GridPane> {
public void Initialize(final BA ba, String EventName, final javafx.scene.layout.GridPane GridPane1){
final String subName=new StringBuilder(EventName).append("_MouseClicked").toString().toLowerCase(BA.cul);
boolean subNameExists=ba.subExists(subName);
if(subNameExists){
GridPane1.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>(){
@Override
public void handle(MouseEvent mouseEvent) {
for(javafx.scene.Node childNode:GridPane1.getChildren()){
if(childNode.getBoundsInParent().contains(mouseEvent.getSceneX(), mouseEvent.getSceneY())){
NodeWrapper<javafx.scene.Node> nodeWrapper=new NodeWrapper<javafx.scene.Node>();
nodeWrapper.setObject(childNode);
ba.raiseEvent(GridPane1, subName, nodeWrapper); // try passing a NodeWrapper
// ba.raiseEvent(GridPane1, subName, childNode); // try passing the java fx Node
break;
}
}
}
});
}
setObject(GridPane1);
}
}