Ich bin mit dem neuesten JDK: 1.8.0_102 ausgeführt, aber auch auf 1.8.0_45 fehlgeschlagen. Hier ist mein einfaches Programm, um das Problem zu replizieren. Schritte zum Reproduzieren:JavaFX Stage.setMaximized funktioniert nur einmal auf Mac OSX (10.9.5)
- Run Programm
- Maximize klicken (es wird maximieren richtig)
- Klicken Sie auf Restore (es wird "unmaximize" richtig)
Klicken Sie erneut maximieren (es wird nichts tun) .
import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class TestApplication extends Application { @Override public void start(Stage primaryStage) throws Exception { VBox pane = new VBox(); Button maximizeButton = new Button("Maximize"); pane.getChildren().add(maximizeButton); Button restoreButton = new Button("Restore"); pane.getChildren().add(restoreButton); maximizeButton.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { primaryStage.setMaximized(true); } }); restoreButton.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { primaryStage.setMaximized(false); } }); primaryStage.setScene(new Scene(pane)); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
Ich rufe setMaximized (false) in der restoreButton.setOnAction, die Teil der Schritte zu reproduzieren war. Sollte ich etwas anderes machen? –
@EricS. Ich habe meine Antwort mit einem Beispiel aktualisiert! –