Comment afficher une page Web en Java

Crossability Winmostar Équipe d'assistance.

1. Afficher la page Web en Java

JavaFX, l'interface graphique par défaut de Java, a la capacité d'afficher des pages Web. Dans cet article, je vais vous montrer comment. Les pages Web peuvent être affichées à l'aide d'une classe appelée WebView. Voici l'exemple de code.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class WebTest extends Application {

    private WebView webView;

    @Override
    public void start(Stage stage) {
        this.webView = new WebView();
        WebEngine webEngine = webView.getEngine();
        webEngine.load("https://x-ability.co.jp");

        BorderPane pane = new BorderPane(this.webView);
        Scene scene = new Scene(pane, 500, 500);

        stage.setScene(scene);
        stage.setMaximized(true);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

2. Mettre à jour l'URL

Utilisez WebEngine # load pour mettre à jour l'URL définie dans WebView.

    private void updateURL(String url) {
        WebEngine webEngine = this.webView.getEngine();
        webEngine.load(url);
    }

3. Avance / retour sur la page

Utilisez WebHistory # go pour revenir en arrière ou en arrière sur la page que vous consultez.

    private void goForward() {
        WebEngine webEngine = this.webView.getEngine();
        WebHistory webHistory = webEngine.getHistory();
        webHistory.go(+1);
    }

    private void goBackward() {
        WebEngine webEngine = this.webView.getEngine();
        WebHistory webHistory = webEngine.getHistory();
        webHistory.go(-1);
    }

4. Fermez la fenêtre

Implémente le processus de fermeture de fenêtre JavaFX lorsqu'un événement de fermeture de fenêtre se produit à partir d'une page Web. Utilisez WebEngine # setOnVisibilityChanged.

    @Override
    public void start(Stage stage) {
        ...réduction...
        stage.show();

        webEngine.setOnVisibilityChanged(event -> {
            if (!event.getData()) {
                stage.hide();
            }
        });
    }

5. Afficher une fenêtre contextuelle

Implémentez le processus d'affichage d'une nouvelle fenêtre dans JavaFX lorsqu'un événement affichant une fenêtre contextuelle se produit à partir d'une page Web. Utilisez WebEngine # setCreatePopupHandler.

    @Override
    public void start(Stage stage) {
        ...réduction...
        stage.show();

        webEngine.setCreatePopupHandler(config -> {
            WebView webView2 = new WebView();
            WebEngine webEngine2 = webView2.getEngine();
            webEngine2.load("about:blank");

            BorderPane pane2 = new BorderPane(webView2);
            Scene scene2 = new Scene(pane2, 500, 500);

            Stage stage2 = new Stage();
            stage2.setScene(scene2);
            stage2.show();

            return webEngine2;
        });
    }

Recommended Posts

Comment afficher une page Web en Java
[Java] Comment afficher les Wingdings
Comment créer un environnement Java en seulement 3 secondes
Comment créer un URI de données (base64) en Java
Comment afficher un aperçu du navigateur avec VS Code
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment convertir un fichier en tableau d'octets en Java
Comment créer un conteneur Java
Comment apprendre JAVA en 7 jours
Comment utiliser les classes en Java?
Comment nommer des variables en Java
Comment créer un tableau Java
Comment concaténer des chaînes avec Java
Comment stocker des chaînes de ArrayList à String en Java (personnel)
Comment afficher des graphiques dans Ruby on Rails (LazyHighChart)
Comment développer et enregistrer une application Sota en Java
Comment simuler le téléchargement de formulaires post-objet vers OSS en Java
Comment créer un résumé de calendrier Java
Comment implémenter le filtre de Kalman par Java
Comment insérer une vidéo dans Rails
Comment faire une conversion de base en Java
[Introduction à Java] Comment écrire un programme Java
Comment créer un robot Discord (Java)
Comment appliquer les conventions de codage en Java
Comment intégrer Janus Graph dans Java
Comment obtenir la date avec Java
Comment publier une bibliothèque dans jCenter
Comment afficher les messages d'erreur en japonais
Comment implémenter un travail qui utilise l'API Java dans JobScheduler
Comment créer un nouveau projet Gradle + Java + Jar dans Intellij 2016.03
Comment faire fonctionner automatiquement un écran créé en Java sous Windows
Deux façons de démarrer un thread en Java + @
[Mémo personnel] Comment interagir avec le générateur de nombres aléatoires en Java
Code pour échapper aux chaînes JSON en Java
Essayez de créer un babillard en Java
Comment obtenir une classe depuis Element en Java
Je voulais que (a == 1 && a == 2 && a == 3) vrai en Java
Créons un framework Web ultra-simple avec Java
Comment convertir un contrat de solidité en une classe de contrat Java
Comment exécuter une tâche djUnit dans Ant
Comment ajouter un chemin de classe dans Spring Boot
Comment créer un thème dans Liferay 7 / DXP
Comment masquer les champs nuls en réponse en Java
Comment implémenter une fonctionnalité similaire dans Rails
Comment créer facilement un pull-down avec des rails
Comment passer un proxy lors du lancement de REST avec SSL en Java
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
Comment résoudre les problèmes d'expression en Java
Comment migrer une application Web créée dans un environnement Docker local vers AWS
[Java] [Pour les débutants] Comment insérer des éléments directement dans un tableau à deux dimensions
Comment écrire Java String # getBytes dans Kotlin?
Comment générer automatiquement un constructeur dans Eclipse
Comment compresser un fichier JAVA CSV et le gérer dans un tableau d'octets
Comment effacer toutes les données d'une table particulière
[Java] Comment omettre le constructeur privé dans Lombok
Comment implémenter une fonctionnalité intéressante dans Ajax avec Rails
Comment passer d'Eclipse Java à un fichier SQL