Tôi biết rằng chúng ta có thể kích hoạt menu toàn cầu cho các ứng dụng Java Swing bằng Jayatana. Nhưng tôi đang tìm kiếm hỗ trợ menu toàn cầu cho các ứng dụng JavaFX . Sau khi tìm kiếm trên nó, tôi đã thấy rằng setUseSystemMothyBar được sử dụng trong JavaFX để cho phép loại hành vi tương tự trong Mac. Nhưng nó không hoạt động trong Ubuntu.
Mã Java của tôi:
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);
}
}
Đầu ra:
Ngoài ra có một báo cáo lỗi liên quan đến vấn đề này ở đây: Gtk: Triển khai hỗ trợ thanh menu hệ thống toàn cầu
Có cách giải quyết nào để giải quyết vấn đề này không?