我知道我们可以使用Jayatana为Java Swing应用程序启用全局菜单。但是我正在寻找JavaFX应用程序的全局菜单支持。搜索之后,我发现JavaFX中使用了setUseSystemMenuBar以在Mac中启用相同的行为。但是它在Ubuntu中不起作用。
我的Java代码:
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);
}
}
输出:
这里也有关于此问题的错误报告:Gtk:实现全局系统菜单栏支持
有解决此问题的解决方法吗?
你知道了吗
—
苏格拉底
@Socrates还没有。
—
Gobinath