Ich weiß, dass wir mit Jayatana ein globales Menü für Java-Swing-Anwendungen aktivieren können. Aber ich suche nach globaler Menüunterstützung für JavaFX- Anwendungen. Nach der Suche darauf habe ich das SetUseSystemMenuBar gefunden in JavaFX verwendet wird, um die gleiche Art von Verhalten in Mac zu ermöglichen. Aber es funktioniert nicht in Ubuntu.
Mein Java Code:
import javafx.application.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.scene.paint.*;
import javafx.stage.*;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
BorderPane root = new BorderPane();
Scene scene = new Scene(root, 300, 250, Color.WHITE);
MenuBar menuBar = new MenuBar();
// Use system menu bar
menuBar.setUseSystemMenuBar(true);
menuBar.prefWidthProperty().bind(primaryStage.widthProperty());
root.setTop(menuBar);
Menu fileMenu = new Menu("File");
Menu webMenu = new Menu("Web");
Menu sqlMenu = new Menu("SQL");
menuBar.getMenus().addAll(fileMenu, webMenu, sqlMenu);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Ausgabe:
Außerdem gibt es hier einen Fehlerbericht zu diesem Problem: Gtk: Implementiere die Unterstützung der globalen Systemmenüleiste
Gibt es Problemumgehungen, um dieses Problem zu lösen?