Menu Global untuk Aplikasi JavaFX

14

Saya tahu bahwa kita dapat mengaktifkan menu global untuk aplikasi Java Swing menggunakan Jayatana. Tetapi saya mencari dukungan menu global untuk aplikasi JavaFX . Setelah mencari di atasnya, saya telah menemukan bahwa setUseSystemMenuBar digunakan di JavaFX untuk mengaktifkan jenis perilaku yang sama di Mac. Tapi itu tidak berfungsi di Ubuntu.

Kode Java saya:

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);
    }
}

Keluaran:

Menu JavaFX di Ubuntu

Juga ada laporan bug mengenai masalah ini di sini: Gtk: Melaksanakan dukungan bilah menu sistem global

Apakah ada solusi untuk menyelesaikan masalah ini?

Gobinath
sumber
Apakah kamu sudah tahu?
Socrates
@Sedia belum.
Gobinath

Jawaban:

1

Melihat kodenya, dan saya bukan pengembang FX berpengalaman, tetapi sepertinya baris "root.setTop (menuBar);" menempatkan bilah menu di bagian atas wadah Anda, bukan di baris atas tampilan total. Saya pikir beberapa perintah lain diperlukan. Saya hanya memiliki pengalaman Java AWT dan Swing dan mungkin salah.

DeepExplorer
sumber
0

Jika belum dipecahkan. Anda dapat mencoba menggunakan file fxml terpisah untuk mendesain UI. Gunakan pembuat adegan untuk hal yang sama. Pembuat adegan , unduh hal yang sama dari sini .

Saya sudah mencoba yang sama di ubuntu 16.04 dan berfungsi dengan baik. Semoga ini bisa membantu.

mohammed thaha jk
sumber