import javafx.application.Application; import javafx.event.EventHandler; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.input.MouseEvent; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; import javafx.stage.StageStyle; import javafx.beans.value.*; public class test extends Application { public void start(final Stage stage) { stage.initStyle(StageStyle.TRANSPARENT); Group g = new Group(); Scene scene1 = new Scene(g); scene1.setFill(Color.GREEN); stage.setTitle("stage1"); stage.setWidth(250); stage.setHeight(100); stage.setX(50); stage.setY(70); stage.setScene(scene1); Rectangle r = new Rectangle(10, 10, 50, 50); r.setFill(Color.RED); r.setOnMouseClicked(new EventHandler() { public void handle(MouseEvent t) { System.err.println("press"); stage.setIconified(true); } }); g.getChildren().add(r); stage.iconifiedProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue arg0, Boolean arg1, Boolean arg2) { System.out.println("----------------------------------"); System.out.println("arg0 =" + arg0); System.out.println("arg1 =" + arg1); System.out.println("arg2 =" + arg2); } }); stage.show(); } public static void main(String args[]) { Application.launch(test.class, args); } }