Web View - Java Chromium Embedded Framework (JCEF)
Fichier POM du projet Maven Java
Pour utiliser le JCEF vous devez ajouter le dépôt et le plugin JCEF Maven. Vous devez ajouter la dépendance CEF (Chromium Embedded Framework).
Le fichier POM devrait ressembler à ceci :
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.ronanlefichant</groupId>
<artifactId>jcef</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- Dépot JCEF Maven -->
<repositories>
<repository>
<id>jcef-maven</id>
<name>JCef Maven Repository</name>
<url>https://friwi.me/jcef/maven</url>
</repository>
</repositories>
<!-- Plugin JCEF Maven -->
<pluginRepositories>
<pluginRepository>
<id>jcef-maven</id>
<name>JCef Maven Repository</name>
<url>https://friwi.me/jcef/maven</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<!-- Dépendance JCEF -->
<dependencies>
<dependency>
<groupId>org.cef</groupId>
<artifactId>jcef-main</artifactId>
<version>84.3.8+gc8a556f+chromium-84.0.4147.105-build-1</version>
</dependency>
</dependencies>
</project>
Le code Java
Le code suivant vous permet de créer une application Java Swing avec un navigateur web Chromium embarqué.
package jcef;
import java.awt.BorderLayout;
import java.awt.Component;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.cef.CefApp;
import org.cef.CefClient;
import org.cef.CefSettings;
import org.cef.JCefLoader;
import org.cef.browser.CefBrowser;
public class App {
public static void main(String[] args) throws IOException, RuntimeException {
/* Création de la fenêtre et de l'élément racine */
JFrame frame = new JFrame();
frame.setSize(800, 600);
JPanel root = new JPanel(new BorderLayout());
frame.add(root);
/* Création des paramètres */
CefSettings settings = new CefSettings();
/* Important pour l'application avec fenêtre */
settings.windowless_rendering_enabled = false;
/* Initialise la webview avec les paramètres */
CefApp cefApp = JCefLoader.installAndLoadCef(settings);
CefClient client = cefApp.createClient();
/* Charge la page google.fr */
CefBrowser browser = client.createBrowser("https://google.fr/", false, false);
/* Récupération du composant AWT */
Component comp = browser.getUIComponent();
/* Ajoute le composant au centre de l'élément racine */
root.add(comp, BorderLayout.CENTER);
/* Centre la fenêtre */
frame.setLocationRelativeTo(null);
/* Ferme le programme quand la fenêtre est fermée */
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/* Affiche la fenêtre */
frame.setVisible(true);
}
}
Commentaires
Enregistrer un commentaire