package bugsfiling; import javafx.application.Application; import javafx.builders.GroupBuilder; import javafx.builders.ImageViewBuilder; import javafx.builders.SceneBuilder; import javafx.builders.StageBuilder; import javafx.event.EventHandler; import javafx.scene.Group; import javafx.scene.PerspectiveCamera; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.MouseEvent; import javafx.scene.paint.Color; import javafx.stage.Stage; /** * * @author Alexander Kouznetsov */ public class NonVisibleComponents extends Application { @Override public void start(Stage stage) throws Exception { Image image = new Image("http://farm4.static.flickr.com/3148/2466200617_3e2d28f8c0.jpg"); ImageView imageView1 = new ImageViewBuilder() .image(image) .fitWidth(200) .fitHeight(200) .onMouseClicked(new EventHandler() { public void handle(MouseEvent t) { System.out.println("Visible imageview clicked"); } }) .build(); ImageView imageView2 = new ImageViewBuilder() .image(image) .fitWidth(200) .fitHeight(200) .translateZ(-300) .onMouseClicked(new EventHandler() { public void handle(MouseEvent t) { System.out.println("Non-visible imageview clicked"); } }) .build(); Group root = new GroupBuilder() .children(imageView1, imageView2) .build(); Scene scene = new SceneBuilder() .camera(new PerspectiveCamera()) .width(200) .height(200) .fill(Color.BLACK) .root(root) .build(); new StageBuilder() .title("NonVisibleComponents") .applyTo(stage); stage.setScene(scene); stage.setVisible(true); } public static void main(String[] args) { launch(args); } }