JavaFX CEF (Java Chromium Embedded Framework) не отображается с узлом Swing в JPanel - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь использовать Pandomium (CEF) с JavaFX в Java 11 (Netbeans) с Maven, но хотя я правильно установил все зависимости, узел Swing не показывает мне веб-браузер. По какой-то причине Pandomium работает над Java Swing, но, к сожалению, я не могу установить размер своего веб-браузера. Это мои зависимости Maven:

<dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>13</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>13</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-swing</artifactId>
            <version>13</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-base</artifactId>
            <version>13</version>
        </dependency>
        
        
        <dependency>
            <groupId>org.panda-lang</groupId>
            <artifactId>pandomium</artifactId>
            <version>67.0.6</version>
        </dependency>
        <dependency>
            <groupId>org.panda-lang</groupId>
            <artifactId>panda</artifactId>
            <version>indev-0.8.87</version>
        </dependency>
        <!-- Windows x64 -->
        <dependency>
            <groupId>org.panda-lang.pandomium-natives</groupId>
            <artifactId>pandomium-natives-win64</artifactId>
            <version>67.0</version>
        </dependency>
        
    </dependencies>
    
    <repositories>
        <repository>
            <id>panda-repository</id>
            <url>https://repo.panda-lang.org/</url>
        </repository>
    </repositories>

Это мой код JavaFX:

    @FXML
    private SwingNode swingNode;
    
    @Override
    public void initialize(URL arg0, ResourceBundle arg1) {
        
        CefSettings settings = new CefSettings();
        settings.windowless_rendering_enabled = OS.isLinux();
        CefApp cefApp = CefApp.getInstance(settings);
        CefClient cefClient = cefApp.createClient();

        CefBrowser cefBrowser = cefClient.createBrowser("http://www.google.com", OS.isLinux(), false);
        Component browserUI = cefBrowser.getUIComponent();
        
        JPanel panel = new JPanel();
        panel.add(browserUI);
        swingNode.setContent(panel);
    }

Это моя информация о модуле (моя информация о модулях показывает мне ошибку: module de.aria.mavenproject3 reads package org.panda_lang.panda.framework.design.architecture.module from both panda.framework.indev and panda.indev Но компилятор все еще может запускать мой код):

module de.aria.mavenproject3 {
    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.swing;
    requires javafx.base;
    requires pandomium;
    requires pandomium.natives.win64;

    opens de.aria.mavenproject3 to javafx.fxml;
    exports de.aria.mavenproject3;
}   

В моем XML я создал только Swing Node (fx-id: swingNode) с помощью VBox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...