Rumah Java javaTutorial Cara menggunakan JavaFX dan WebSockets dalam Java 9 untuk melaksanakan antara muka grafik untuk komunikasi masa nyata

Cara menggunakan JavaFX dan WebSockets dalam Java 9 untuk melaksanakan antara muka grafik untuk komunikasi masa nyata

Jul 30, 2023 am 10:54 AM
websockets komunikasi masa nyata javafx

Cara menggunakan JavaFX dan WebSockets dalam Java 9 untuk melaksanakan antara muka grafik untuk komunikasi masa nyata

Pengenalan:
Dalam era Internet hari ini, komunikasi masa nyata adalah salah satu fungsi yang sangat penting. Contohnya, kemas kini masa nyata keadaan pasaran saham, sembang masa nyata, dsb. Artikel ini akan memperkenalkan cara menggunakan JavaFX dan WebSockets dalam Java 9 untuk melaksanakan antara muka grafik untuk komunikasi masa nyata.

Bahagian Pertama: Pengenalan kepada JavaFX
JavaFX ialah perpustakaan Java untuk membina aplikasi pelanggan yang kaya. Ia menyediakan antara muka grafik yang berkuasa untuk mencipta pelbagai kesan visual dengan mudah.

Bahagian 2: Pengenalan kepada WebSockets
WebSockets ialah teknologi yang digunakan untuk komunikasi dua hala masa nyata antara pelanggan dan pelayan. Ia membolehkan pelayan menghantar mesej secara proaktif kepada pelanggan dan menyediakan protokol mudah untuk mengendalikan komunikasi masa nyata.

Bahagian 3: Gabungan JavaFX dan WebSockets
Sekarang mari kita lihat cara menggabungkan JavaFX dan WebSockets untuk mencapai antara muka grafik untuk komunikasi masa nyata. Pertama, kita perlu mencipta aplikasi JavaFX dan menambah perpustakaan WebSockets kepada kebergantungan projek.

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();
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mencipta aplikasi JavaFX yang dipanggil "RealTimeApplication" dan menambah TextArea untuk memaparkan mesej dan TextField untuk memasukkan mesej. Apabila pengguna menekan kekunci Enter dalam TextField, kami menggunakan sesi WebSockets untuk menghantar mesej kepada pelayan. Apabila mesej diterima daripada pelayan, kami akan memaparkannya dalam TextArea.

Bahagian 4: Persediaan Sisi Pelayan
Seterusnya, kita perlu menyediakan bahagian pelayan untuk mengendalikan mesej daripada pelanggan dan menyiarkannya kepada semua pelanggan yang berkaitan. Di sini, kami menggunakan Spring Boot untuk mencipta pelayan WebSockets yang mudah.

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);
            }
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mencipta pelayan WebSocket bernama "WebSocketServer" dan mengikatnya pada titik akhir "/ws" menggunakan anotasi @ServerEndpoint. Apabila mesej diterima daripada pelanggan, pelayan menyiarkannya kepada semua pelanggan yang bersambung.

Kesimpulan:
Dengan menggabungkan JavaFX dan WebSockets, kami boleh dengan mudah melaksanakan antara muka grafik untuk komunikasi masa nyata. Sama ada anda sedang mencari kemas kini pasaran saham masa nyata atau sembang langsung, teknologi ini boleh menjadi sangat berguna. Saya harap artikel ini telah membantu anda dalam melaksanakan antara muka grafik untuk komunikasi masa nyata menggunakan JavaFX dan WebSockets dalam Java 9.

Pautan rujukan:

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

Atas ialah kandungan terperinci Cara menggunakan JavaFX dan WebSockets dalam Java 9 untuk melaksanakan antara muka grafik untuk komunikasi masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mencapai komunikasi masa nyata menggunakan PHP dan WebSocket Bagaimana untuk mencapai komunikasi masa nyata menggunakan PHP dan WebSocket Dec 17, 2023 pm 10:24 PM

Dengan perkembangan teknologi Internet yang berterusan, komunikasi masa nyata telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian. Komunikasi masa nyata yang cekap, kependaman rendah boleh dicapai menggunakan teknologi WebSockets, dan PHP, sebagai salah satu bahasa pembangunan yang paling banyak digunakan dalam bidang Internet, juga menyediakan sokongan WebSocket yang sepadan. Artikel ini akan memperkenalkan cara menggunakan PHP dan WebSocket untuk mencapai komunikasi masa nyata, dan menyediakan contoh kod khusus. 1. Apakah itu WebSocket?

Apakah pelbagai bentuk 2D yang disediakan oleh JavaFX? Apakah pelbagai bentuk 2D yang disediakan oleh JavaFX? Sep 03, 2023 pm 09:41 PM

Di bawah ialah pelbagai bentuk geometri yang anda boleh lukis menggunakan JavaFX Lines - Garis ialah struktur geometri yang menghubungkan dua titik. javafx.scene.shape. Kelas Garis mewakili garis dalam satah XY. Segi empat tepat - Segi empat tepat ialah poligon empat sisi dengan dua pasang sisi selari dan serentak, dan semua sudut pedalaman adalah sudut tegak. javafx.scene. Kelas Rectangle mewakili segi empat tepat dalam satah XY. Bulatan - Bulatan ialah garis yang membentuk gelung tertutup, dengan setiap titik di atasnya adalah jarak tetap dari titik tengah. javafx.scene. Kelas Bulatan mewakili bulatan dalam satah XY. Ellipse - Elips ditakrifkan oleh dua titik, setiap satu dipanggil fokus. Jika anda mengambil sebarang titik pada elips, jumlah jarak ke fokus

Bagaimana untuk melaksanakan proksi Websockets menggunakan Pengurus Proksi Nginx Bagaimana untuk melaksanakan proksi Websockets menggunakan Pengurus Proksi Nginx Sep 27, 2023 pm 01:46 PM

Cara menggunakan NginxProxyManager untuk melaksanakan proksi Websockets Websockets ialah protokol komunikasi masa nyata yang sesuai untuk aplikasi yang memerlukan komunikasi dua hala. NginxProxyManager (pendek kata NPM) ialah pelayan proksi berasaskan Nginx yang boleh digunakan untuk mengurus dan mengkonfigurasi berbilang sumber proksi terbalik. Artikel ini akan memperkenalkan cara menggunakan NPM untuk melaksanakan proksi Websockets dan memberikan contoh kod khusus. Pasang npm dahulu

Paparkan kandungan web menggunakan komponen JavaFX WebView baharu dalam Java 13 Paparkan kandungan web menggunakan komponen JavaFX WebView baharu dalam Java 13 Aug 01, 2023 pm 01:09 PM

Gunakan komponen JavaFXWebView baharu dalam Java13 untuk memaparkan kandungan web Dengan pembangunan Java yang berterusan, JavaFX telah menjadi salah satu alat utama untuk membina antara muka grafik merentas platform. JavaFX menyediakan banyak perpustakaan grafik dan komponen, membolehkan pembangun membuat pelbagai antara muka pengguna dengan mudah. Antaranya, komponen JavaFXWebView adalah komponen yang sangat berguna yang membolehkan kami memaparkan kandungan web dalam aplikasi JavaFX. Di Java13, J

Panduan Pembangunan Soket Web Java: Bagaimana untuk mencapai komunikasi masa nyata antara pelanggan dan pelayan Panduan Pembangunan Soket Web Java: Bagaimana untuk mencapai komunikasi masa nyata antara pelanggan dan pelayan Dec 02, 2023 am 11:52 AM

Panduan Pembangunan Soket Web Java: Bagaimana untuk melaksanakan komunikasi masa nyata antara pelanggan dan pelayan, contoh kod khusus diperlukan Dengan pembangunan aplikasi web yang berterusan, komunikasi masa nyata telah menjadi bahagian yang sangat diperlukan dalam projek. Dalam protokol HTTP tradisional, pelanggan menghantar permintaan kepada pelayan, dan data hanya boleh diperolehi selepas menerima respons Ini menyebabkan pelanggan terus meninjau pelayan untuk mendapatkan data terkini, yang akan membawa kepada masalah prestasi dan kecekapan . Dan WebSocket adalah untuk pemahaman

Cara menggunakan PHP untuk tolakan sisi pelayan dan komunikasi masa nyata Cara menggunakan PHP untuk tolakan sisi pelayan dan komunikasi masa nyata Aug 02, 2023 am 09:33 AM

Cara menggunakan PHP untuk tolakan sisi pelayan dan komunikasi masa nyata Dengan perkembangan teknologi yang berterusan dan populariti Internet, komunikasi masa nyata menjadi semakin penting dalam aplikasi web. Tolakan sisi pelayan dan komunikasi masa nyata membolehkan pembangun menghantar data dikemas kini masa nyata kepada dan berinteraksi dengan pelanggan tanpa memerlukan pelanggan meminta data secara aktif daripada pelayan. Dalam pembangunan PHP, kita boleh menggunakan beberapa teknologi untuk mencapai tolakan sisi pelayan dan komunikasi masa nyata, seperti: WebSocket, LongPolling, Serve

Cara menggunakan Java untuk membangunkan aplikasi komunikasi masa nyata berdasarkan WebSocket Cara menggunakan Java untuk membangunkan aplikasi komunikasi masa nyata berdasarkan WebSocket Sep 20, 2023 am 11:03 AM

Cara menggunakan Java untuk membangunkan aplikasi komunikasi masa nyata berdasarkan WebSocket Dalam aplikasi Web moden, komunikasi masa nyata telah menjadi fungsi yang diperlukan. Teknologi WebSocket memainkan peranan penting dalam hal ini. WebSocket ialah protokol komunikasi dupleks penuh yang membenarkan komunikasi dua hala masa nyata antara pelayan dan pelanggan. Artikel ini akan memperkenalkan cara menggunakan Java untuk membangunkan aplikasi komunikasi masa nyata berdasarkan WebSocket, dan menyediakan beberapa contoh kod khusus. Persiapan bermula

Bagaimana untuk melaksanakan antara muka grafik untuk komunikasi masa nyata menggunakan JavaFX dan WebSocket dalam Java 9 Bagaimana untuk melaksanakan antara muka grafik untuk komunikasi masa nyata menggunakan JavaFX dan WebSocket dalam Java 9 Jul 30, 2023 pm 04:57 PM

Cara menggunakan JavaFX dan WebSocket untuk melaksanakan antara muka grafik untuk komunikasi masa nyata dalam Java9 Pengenalan: Dengan pembangunan Internet, keperluan untuk komunikasi masa nyata menjadi semakin biasa. Dalam Java9, kami boleh menggunakan teknologi JavaFX dan WebSocket untuk melaksanakan aplikasi komunikasi masa nyata dengan antara muka grafik. Artikel ini akan memperkenalkan cara menggunakan teknologi JavaFX dan WebSocket untuk melaksanakan antara muka grafik untuk komunikasi masa nyata dalam Java9, dan melampirkan contoh kod yang sepadan. Bahagian Pertama: Ja

See all articles