J'utilise OpenJFX sous Mac OS X et j'ai observé un comportement étrange de mon application.
Mon environnement est
Logiciel
Version
OS
OS X El Capitan (10.11.6)
Java
openjdk version "15" 2020-09-15
Environnement d'exécution OpenJDK AdoptOpenJDK (build 15+36)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 15+36, mixed mode, sharing)
OpenJFX
15.0.1
Mon application utilise la barre de menu système de Mac OS X en
menuBar.setUseSystemMenuBar(true)
Lorsque je démarre mon application en ligne de commande avec Java, tout fonctionne correctement. Lorsque j'ajoute l'option -splash au démarrage, le menu apparaît à l'intérieur de l'application au lieu du menu système de Mac OS.
Je pense qu'il s'agit d'un bogue de Java lui-même ou de Java FX, je n'en suis pas sûr.
Mon application de démonstration est construite à partir de deux classes
public class Launcher {
public static void main(String[] args) {
MyApp.runApp(args);
}
}
y
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class MyApp extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
String javaVersion = System.getProperty("java.version");
String javafxVersion = System.getProperty("javafx.version");
Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
MenuBar menuBar = new MenuBar(new Menu("TEST"));
menuBar.setUseSystemMenuBar(true);
Scene scene = new Scene(new VBox(menuBar, new StackPane(l)), 640, 480);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void runApp(String[] args) {
launch(args);
}
}
Lorsqu'elle est invoquée sans -splash, l'application prend en charge la barre de menu du système.
Lorsqu'il est invoqué avec l'option -splash, le menu est situé à l'intérieur de l'application.
Quelqu'un a-t-il observé un comportement similaire ? Savez-vous si un bogue a déjà été signalé contre Open Java ou Open JavaFX ? Je n'ai rien trouvé.
Quel est, selon vous, le meilleur projet contre lequel déposer un bogue, Open Java ou Open Java FX ?
Merci d'avance Thorsten