ホームページ Java &#&チュートリアル Java 9 で JavaFX と WebSocket を使用してリアルタイム通信用のグラフィカル インターフェイスを実装する方法

Java 9 で JavaFX と WebSocket を使用してリアルタイム通信用のグラフィカル インターフェイスを実装する方法

Jul 30, 2023 am 10:54 AM
websockets リアルタイム通信 javafx

JavaFX と WebSocket を使用して Java 9 でリアルタイム通信用のグラフィカル インターフェイスを実装する方法

はじめに:
今日のインターネット時代において、リアルタイム通信は非常に重要な機能の 1 つです。たとえば、株式市場状況のリアルタイム更新、リアルタイム チャットなどです。この記事では、Java 9 で JavaFX と WebSocket を使用して、リアルタイム通信用のグラフィカル インターフェイスを実装する方法を紹介します。

パート 1: JavaFX の概要
JavaFX は、リッチ クライアント アプリケーションを構築するための Java ライブラリです。さまざまな視覚効果を簡単に作成できる強力なグラフィカル インターフェイスを提供します。

パート 2: WebSocket の概要
WebSocket は、クライアントとサーバー間のリアルタイムの双方向通信に使用されるテクノロジです。これにより、サーバーがクライアントにメッセージを積極的に送信できるようになり、リアルタイム通信を処理するためのシンプルなプロトコルが提供されます。

パート 3: JavaFX と WebSocket の組み合わせ
次に、JavaFX と WebSocket を組み合わせて、リアルタイム通信用のグラフィカル インターフェイスを実現する方法を見てみましょう。まず、JavaFX アプリケーションを作成し、WebSocket ライブラリをプロジェクトの依存関係に追加する必要があります。

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();
        }
    }
}
ログイン後にコピー

上記のコードでは、「RealTimeApplication」という名前の JavaFX アプリケーションを作成し、メッセージを表示するための TextArea とメッセージを入力するための TextField を追加しました。ユーザーが TextField で Enter キーを押すと、WebSocket セッションを使用してサーバーにメッセージを送信します。サーバーからメッセージを受信すると、TextArea にメッセージを表示します。

パート 4: サーバー側のセットアップ
次に、クライアントからのメッセージを処理し、接続されているすべてのクライアントにメッセージをブロードキャストするようにサーバー側をセットアップする必要があります。ここでは、Spring Boot を使用して単純な WebSocket サーバーを作成します。

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);
            }
        }
    }
}
ログイン後にコピー

上記のコードでは、「WebSocketServer」という名前の WebSocket サーバーを作成し、@ServerEndpoint アノテーションを使用してそれを「/ws」エンドポイントにバインドします。クライアントからメッセージを受信すると、サーバーは接続されているすべてのクライアントにメッセージをブロードキャストします。

結論:
JavaFX と WebSocket を組み合わせることで、リアルタイム通信のためのグラフィカル インターフェイスを簡単に実装できます。リアルタイムの株式市場の最新情報を探している場合でも、ライブ チャットを探している場合でも、このテクノロジーは非常に役立ちます。この記事が、Java 9 で JavaFX と WebSocket を使用したリアルタイム通信用のグラフィカル インターフェイスの実装に役立つことを願っています。

参考リンク:

  • JavaFX 公式ドキュメント: https://openjfx.io/javadoc/12/
  • WebSocket 公式ドキュメント: https://www. w3.org/TR/websockets/
  • Spring Boot 公式ドキュメント: https://spring.io/projects/spring-boot

以上がJava 9 で JavaFX と WebSocket を使用してリアルタイム通信用のグラフィカル インターフェイスを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPとWebSocketを使ってリアルタイム通信を実現する方法 PHPとWebSocketを使ってリアルタイム通信を実現する方法 Dec 17, 2023 pm 10:24 PM

インターネット技術の継続的な発展により、リアルタイム通信は日常生活に欠かせないものになりました。 WebSocket テクノロジーを使用すると、効率的で低遅延のリアルタイム通信を実現できます。また、インターネット分野で最も広く使用されている開発言語の 1 つである PHP も、対応する WebSocket サポートを提供します。この記事では、PHP と WebSocket を使用してリアルタイム通信を実現する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は単一の

JavaFX が提供するさまざまな 2D 形状とは何ですか? JavaFX が提供するさまざまな 2D 形状とは何ですか? Sep 03, 2023 pm 09:41 PM

JavaFX を使用して描画できるさまざまな幾何学的形状を以下に示します。 線 - 線は 2 点を結ぶ幾何学的構造です。 javafx.scene.shape. Line クラスは、XY 平面内の線を表します。長方形 - 長方形は、2 組の平行かつ同時の辺を持つ 4 辺の多角形であり、すべての内角は直角です。 javafx.scene. Rectangle クラスは、XY 平面内の長方形を表します。円 - 円は閉じたループを形成する線であり、その上の各点は中心点から一定の距離にあります。 javafx.scene. Circle クラスは、XY 平面内の円を表します。楕円 - 楕円は 2 つの点で定義され、各点は焦点と呼ばれます。楕円上の任意の点を取った場合、焦点までの距離の合計

Nginx プロキシ マネージャーを使用して Websocket プロキシを実装する方法 Nginx プロキシ マネージャーを使用して Websocket プロキシを実装する方法 Sep 27, 2023 pm 01:46 PM

NginxProxyManager を使用して Websockets プロキシを実装する方法 Websockets は、双方向通信を必要とするアプリケーションに適したリアルタイム通信プロトコルです。 NginxProxyManager (略して NPM) は、複数のリバース プロキシ リソースの管理と構成に使用できる Nginx ベースのプロキシ サーバーです。この記事では、NPM を使用して Websocket プロキシを実装する方法を紹介し、具体的なコード例を示します。まずnpmをインストールしてください

Java 13 の新しい JavaFX WebView コンポーネントを使用して Web コンテンツを表示する Java 13 の新しい JavaFX WebView コンポーネントを使用して Web コンテンツを表示する Aug 01, 2023 pm 01:09 PM

Java13 の新しい JavaFXWebView コンポーネントを使用して Web コンテンツを表示する Java の継続的な開発により、JavaFX はクロスプラットフォームのグラフィカル インターフェイスを構築するための主要ツールの 1 つになりました。 JavaFX は豊富なグラフィックス ライブラリとコンポーネントを提供し、開発者がさまざまなユーザー インターフェイスを簡単に作成できるようにします。その中でも、JavaFXWebView コンポーネントは、JavaFX アプリケーションで Web コンテンツを表示できるようにする非常に便利なコンポーネントです。 Java13では、J

Java Websocket 開発ガイド: クライアントとサーバー間のリアルタイム通信を実現する方法 Java Websocket 開発ガイド: クライアントとサーバー間のリアルタイム通信を実現する方法 Dec 02, 2023 am 11:52 AM

Java Websocket 開発ガイド: クライアントとサーバー間のリアルタイム通信を実装する方法、具体的なコード例が必要です Web アプリケーションの継続的な開発に伴い、リアルタイム通信はプロジェクトの不可欠な部分になってきました。従来の HTTP プロトコルでは、クライアントがサーバーにリクエストを送信し、レスポンスを受信して​​初めてデータを取得できるため、クライアントは最新のデータを取得するためにサーバーを継続的にポーリングすることになり、パフォーマンスと効率の問題が発生します。 。 WebSocket は理解するためのものです

PHP を使用してサーバーサイドプッシュとリアルタイム通信を行う方法 PHP を使用してサーバーサイドプッシュとリアルタイム通信を行う方法 Aug 02, 2023 am 09:33 AM

PHP を使用してサーバー側プッシュとリアルタイム通信を行う方法 テクノロジーの継続的な発展とインターネットの普及に伴い、Web アプリケーションにおけるリアルタイム通信の重要性がますます高まっています。サーバー側のプッシュとリアルタイム通信により、開発者は、クライアントがサーバーにデータを積極的に要求することなく、リアルタイムの更新データをクライアントに送信し、クライアントと対話できるようになります。 PHP 開発では、WebSocket、LongPolling、Serve などのいくつかのテクノロジーを使用して、サーバー側のプッシュとリアルタイム通信を実現できます。

Java 9 で JavaFX と WebSocket を使用してリアルタイム通信用のグラフィカル インターフェイスを実装する方法 Java 9 で JavaFX と WebSocket を使用してリアルタイム通信用のグラフィカル インターフェイスを実装する方法 Jul 30, 2023 pm 04:57 PM

JavaFX と WebSocket を使用して Java9 でリアルタイム通信用のグラフィカル インターフェイスを実装する方法 はじめに: インターネットの発展に伴い、リアルタイム通信の必要性がますます一般的になってきています。 Java9 では、JavaFX と WebSocket テクノロジを使用して、グラフィカル インターフェイスを備えたリアルタイム通信アプリケーションを実装できます。この記事では、JavaFX と WebSocket テクノロジを使用して Java9 でリアルタイム通信用のグラフィカル インターフェイスを実装する方法を紹介し、対応するコード例を添付します。パート 1: ジャ

Java を使用して WebSocket に基づくリアルタイム通信アプリケーションを開発する方法 Java を使用して WebSocket に基づくリアルタイム通信アプリケーションを開発する方法 Sep 20, 2023 am 11:03 AM

Java を使用して WebSocket ベースのリアルタイム通信アプリケーションを開発する方法 最近の Web アプリケーションでは、リアルタイム通信が必要な機能になっています。この点において、WebSocket テクノロジーは重要な役割を果たします。 WebSocket は、サーバーとクライアント間のリアルタイムの双方向通信を可能にする全二重通信プロトコルです。この記事では、Java を使用して WebSocket に基づくリアルタイム通信アプリケーションを開発する方法を紹介し、いくつかの具体的なコード例を示します。準備が始まっています

See all articles