JavaFX अनुप्रयोगों के लिए वैश्विक मेनू


14

मुझे पता है कि हम Jayatana का उपयोग करके जावा स्विंग अनुप्रयोगों के लिए वैश्विक मेनू को सक्षम कर सकते हैं। लेकिन मैं JavaFX एप्लिकेशन के लिए वैश्विक मेनू समर्थन खोज रहा हूं । इस पर खोज करने के बाद, मैंने पाया है कि मैक में उसी तरह के व्यवहार को सक्षम करने के लिए JavaFX में setUseSystemMenuBar का उपयोग किया जाता है। लेकिन यह उबंटू में काम नहीं कर रहा है।

मेरा जावा कोड:

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

आउटपुट:

Ubuntu में JavaFX मेनू

इसके अलावा इस समस्या के बारे में एक बग रिपोर्ट है: Gtk: वैश्विक सिस्टम मेनू बार समर्थन को लागू करें

क्या इस समस्या को हल करने के लिए कोई समाधान हैं?


क्या आपको अभी तक पता चला है?
सुकरात

@Socrates अभी तक नहीं।
गोबिनाथ

जवाबों:


1

कोड को देखते हुए, और मैं एक अनुभवी FX डेवलपर नहीं हूं, लेकिन यह लाइन "root.setTop (menuBar)" जैसा दिखता है; आपके कंटेनर के शीर्ष पर मेनू बार का पता लगा रहा है, कुल डिस्प्ले की शीर्ष पंक्ति में नहीं। मुझे लगता है कि कुछ अन्य आदेश आवश्यक है। मेरे पास केवल जावा एडब्ल्यूटी और स्विंग अनुभव है और गलत हो सकता है।


0

अगर पहले से हल नहीं हुआ है। UI डिजाइन करने के लिए आप अलग से fxml फ़ाइल का उपयोग करने का प्रयास कर सकते हैं। उसी के लिए दृश्य बिल्डर का उपयोग करें। दृश्य बिल्डर , यहाँ से ही डाउनलोड करें

मैं ubuntu 16.04 में एक ही कोशिश की है और यह ठीक काम करता है। आशा करता हूँ की ये काम करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.