Maison Java javaDidacticiel Comment utiliser JavaFX et WebSockets dans Java 9 pour implémenter une interface graphique pour la communication en temps réel

Comment utiliser JavaFX et WebSockets dans Java 9 pour implémenter une interface graphique pour la communication en temps réel

Jul 30, 2023 am 10:54 AM
websockets 实时通信 javafx

Comment utiliser JavaFX et WebSockets dans Java 9 pour implémenter une interface graphique pour la communication en temps réel

Introduction :
À l'ère Internet d'aujourd'hui, la communication en temps réel est l'une des fonctions très importantes. Par exemple, des mises à jour en temps réel des conditions boursières, un chat en temps réel, etc. Cet article explique comment utiliser JavaFX et WebSockets dans Java 9 pour implémenter une interface graphique pour la communication en temps réel.

Première partie : Introduction à JavaFX
JavaFX est une bibliothèque Java permettant de créer des applications client riches. Il fournit une interface graphique puissante pour créer facilement divers effets visuels.

Partie 2 : Introduction aux WebSockets
WebSockets est une technologie utilisée pour la communication bidirectionnelle en temps réel entre les clients et les serveurs. Il permet aux serveurs d'envoyer des messages aux clients de manière proactive et fournit un protocole simple pour gérer la communication en temps réel.

Partie 3 : Combinaison de JavaFX et WebSockets
Voyons maintenant comment combiner JavaFX et WebSockets pour obtenir une interface graphique pour une communication en temps réel. Tout d'abord, nous devons créer une application JavaFX et ajouter la bibliothèque WebSockets aux dépendances du projet.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javax.websocket.ClientEndpoint;
import javax.websocket.ContainerProvider;
import javax.websocket.OnMessage;
import javax.websocket.Session;
import javax.websocket.WebSocketContainer;

@ClientEndpoint
public class RealTimeApplication extends Application {

    private Session session;
    private TextArea messageArea;

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

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Real Time Application");

        VBox vbox = new VBox();

        messageArea = new TextArea();
        messageArea.setEditable(false);

        TextField inputField = new TextField();
        inputField.setOnAction(event -> {
            String message = inputField.getText();
            session.getAsyncRemote().sendText(message);
            inputField.setText("");
        });

        vbox.getChildren().addAll(messageArea, inputField);

        primaryStage.setScene(new Scene(vbox, 400, 300));
        primaryStage.show();

        connect();
    }

    @Override
    public void stop() {
        try {
            session.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @OnMessage
    public void onMessage(String message) {
        messageArea.appendText(message + "
");
    }

    private void connect() {
        try {
            WebSocketContainer container = ContainerProvider.getWebSocketContainer();
            session = container.connectToServer(this, new URI("ws://localhost:8080/ws"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Copier après la connexion

Dans le code ci-dessus, nous avons créé une application JavaFX appelée "RealTimeApplication" et ajouté une TextArea pour afficher les messages et un TextField pour saisir des messages. Lorsque l'utilisateur appuie sur la touche Entrée dans TextField, nous utilisons la session WebSockets pour envoyer un message au serveur. Lorsqu'un message est reçu du serveur, nous l'afficherons dans une TextArea.

Partie 4 : Configuration côté serveur
Ensuite, nous devons configurer le côté serveur pour gérer les messages des clients et les diffuser à tous les clients connectés. Ici, nous utilisons Spring Boot pour créer un simple serveur WebSockets.

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketTransportRegistration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Configuration
    @EnableWebSocketMessageBroker
    public static class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

        @Override
        public void configureWebSocketTransport(WebSocketTransportRegistration registration) {
            registration.setMessageSizeLimit(1024000);
        }

        @Override
        public void registerStompEndpoints(StompEndpointRegistry registry) {
            registry.addEndpoint("/ws").withSockJS();
        }
    }

    @ServerEndpoint(value = "/ws")
    public static class WebSocketServer {

        @OnMessage
        public void onMessage(Session session, String message) throws IOException, EncodeException {
            for (Session client : session.getOpenSessions()) {
                client.getBasicRemote().sendText(message);
            }
        }
    }
}
Copier après la connexion

Dans le code ci-dessus, nous créons un serveur WebSocket nommé "WebSocketServer" et le lions au point de terminaison "/ws" à l'aide de l'annotation @ServerEndpoint. Lorsqu'un message est reçu d'un client, le serveur le diffuse à tous les clients connectés.

Conclusion :
En combinant JavaFX et WebSockets, nous pouvons facilement implémenter une interface graphique pour une communication en temps réel. Que vous recherchiez des mises à jour boursières en temps réel ou un chat en direct, cette technologie peut être extrêmement utile. J'espère que cet article vous a été utile pour implémenter une interface graphique pour la communication en temps réel à l'aide de JavaFX et WebSockets dans Java 9.

Lien de référence :

  • Documentation officielle JavaFX : https://openjfx.io/javadoc/12/
  • Documentation officielle WebSocket : https://www.w3.org/TR/websockets/
  • Documentation officielle Spring Boot :https://spring.io/projects/spring-boot

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment réaliser une communication en temps réel en utilisant PHP et WebSocket Comment réaliser une communication en temps réel en utilisant PHP et WebSocket Dec 17, 2023 pm 10:24 PM

Avec le développement continu de la technologie Internet, la communication en temps réel est devenue un élément indispensable de la vie quotidienne. Une communication en temps réel efficace et à faible latence peut être obtenue grâce à la technologie WebSockets, et PHP, en tant que l'un des langages de développement les plus utilisés dans le domaine Internet, fournit également la prise en charge WebSocket correspondante. Cet article explique comment utiliser PHP et WebSocket pour établir une communication en temps réel et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ?

Quelles sont les différentes formes 2D fournies par JavaFX ? Quelles sont les différentes formes 2D fournies par JavaFX ? Sep 03, 2023 pm 09:41 PM

Vous trouverez ci-dessous les différentes formes géométriques que vous pouvez dessiner à l'aide de JavaFX. Lignes - Une ligne est une structure géométrique qui relie deux points. javafx.scene.shape. La classe Line représente une ligne dans le plan XY. Rectangle - Un rectangle est un polygone à quatre côtés avec deux paires de côtés parallèles et concurrents, et tous les angles intérieurs sont des angles droits. javafx.scene. La classe Rectangle représente un rectangle dans le plan XY. Cercle - Un cercle est une ligne formant une boucle fermée, chaque point se trouvant à une distance fixe du point central. javafx.scene. La classe Circle représente un cercle dans le plan XY. Ellipse - Une ellipse est définie par deux points, chaque point est appelé un foyer. Si vous prenez n'importe quel point de l'ellipse, la somme des distances jusqu'au foyer

Comment implémenter le proxy Websockets à l'aide de Nginx Proxy Manager Comment implémenter le proxy Websockets à l'aide de Nginx Proxy Manager Sep 27, 2023 pm 01:46 PM

Comment utiliser NginxProxyManager pour implémenter le proxy Websockets Websockets est un protocole de communication en temps réel adapté aux applications nécessitant une communication bidirectionnelle. NginxProxyManager (NPM en abrégé) est un serveur proxy basé sur Nginx qui peut être utilisé pour gérer et configurer plusieurs ressources proxy inverse. Cet article explique comment utiliser NPM pour implémenter le proxy Websockets et fournit des exemples de code spécifiques. Installez d'abord npm

Afficher le contenu Web à l'aide du nouveau composant JavaFX WebView dans Java 13 Afficher le contenu Web à l'aide du nouveau composant JavaFX WebView dans Java 13 Aug 01, 2023 pm 01:09 PM

Utilisez le nouveau composant JavaFXWebView dans Java13 pour afficher du contenu Web Avec le développement continu de Java, JavaFX est devenu l'un des principaux outils de création d'interfaces graphiques multiplateformes. JavaFX fournit une multitude de bibliothèques et de composants graphiques, permettant aux développeurs de créer facilement diverses interfaces utilisateur. Parmi eux, le composant JavaFXWebView est un composant très utile qui nous permet d'afficher du contenu Web dans les applications JavaFX. En Java13, J

Guide de développement Java Websocket : Comment établir une communication en temps réel entre le client et le serveur Guide de développement Java Websocket : Comment établir une communication en temps réel entre le client et le serveur Dec 02, 2023 am 11:52 AM

Guide de développement Java Websocket : Comment implémenter la communication en temps réel entre le client et le serveur, des exemples de code spécifiques sont nécessaires Avec le développement continu des applications Web, la communication en temps réel est devenue un élément indispensable du projet. Dans le protocole HTTP traditionnel, le client envoie une requête au serveur et les données ne peuvent être obtenues qu'après avoir reçu la réponse. Cela amène le client à interroger en permanence le serveur pour obtenir les dernières données, ce qui entraînera des problèmes de performances et d'efficacité. . Et WebSocket sert à comprendre

Comment utiliser PHP pour le push côté serveur et la communication en temps réel Comment utiliser PHP pour le push côté serveur et la communication en temps réel Aug 02, 2023 am 09:33 AM

Comment utiliser PHP pour le push côté serveur et la communication en temps réel Avec le développement continu de la technologie et la popularité d'Internet, la communication en temps réel devient de plus en plus importante dans les applications Web. Le push côté serveur et la communication en temps réel permettent aux développeurs d'envoyer des données mises à jour en temps réel et d'interagir avec les clients sans que le client ne demande activement des données au serveur. Dans le développement PHP, nous pouvons utiliser certaines technologies pour réaliser une communication push et en temps réel côté serveur, telles que : WebSocket, LongPolling, Serve

Comment implémenter une interface graphique pour la communication en temps réel à l'aide de JavaFX et WebSocket dans Java 9 Comment implémenter une interface graphique pour la communication en temps réel à l'aide de JavaFX et WebSocket dans Java 9 Jul 30, 2023 pm 04:57 PM

Comment utiliser JavaFX et WebSocket pour implémenter une interface graphique pour la communication en temps réel dans Java9 Introduction : Avec le développement d'Internet, le besoin de communication en temps réel devient de plus en plus courant. En Java9, nous pouvons utiliser la technologie JavaFX et WebSocket pour implémenter des applications de communication en temps réel avec des interfaces graphiques. Cet article expliquera comment utiliser la technologie JavaFX et WebSocket pour implémenter une interface graphique pour la communication en temps réel dans Java9, et joindra des exemples de code correspondants. Première partie : Ja

Comment utiliser Java pour développer une application de communication temps réel basée sur WebSocket Comment utiliser Java pour développer une application de communication temps réel basée sur WebSocket Sep 20, 2023 am 11:03 AM

Comment utiliser Java pour développer une application de communication en temps réel basée sur WebSocket Dans les applications Web modernes, la communication en temps réel est devenue une fonction nécessaire. La technologie WebSocket joue un rôle important à cet égard. WebSocket est un protocole de communication full-duplex qui permet une communication bidirectionnelle en temps réel entre le serveur et le client. Cet article présentera comment utiliser Java pour développer une application de communication en temps réel basée sur WebSocket et fournira quelques exemples de code spécifiques. Les préparatifs commencent

See all articles