Cách sử dụng HTML với Java

Có rất nhiều ứng dụng máy tính để bàn tích hợp điều khiển trình duyệt web để hiển thị nội dung HTML hiện đại và giao tiếp với các dịch vụ web và ứng dụng web trực tiếp từ ứng dụng. iTunes, Adobe Brackets, Evernote, Amazon Music, Steam Client, v.v. Nếu bạn phát triển loại ứng dụng máy tính để bàn tương tự bằng công nghệ Java và bạn cần nhúng điều khiển trình duyệt web an toàn, nhanh, nhẹ hỗ trợ tất cả các công nghệ web hiện đại như HTML5, CSS3, JavaScript, Flash, v.v. , thì JxBrowser là thứ bạn cần

Với JxBrowser, GUI ứng dụng máy tính để bàn Java của bạn có thể được xây dựng bằng HTML/CSS/JavaScript. Điều đó có nghĩa là bạn thực sự có thể sử dụng bất kỳ bộ công cụ giao diện người dùng HTML5 hiện đại nào để xây dựng giao diện hiện đại, thân thiện với người dùng cho ứng dụng máy tính để bàn Java của bạn. Bạn không cần thuê nhà phát triển Swing/AWT/JavaFX. GUI của ứng dụng Java của bạn có thể được xây dựng bởi các nhà phát triển HTML/CSS/JavaScript. Nó làm giảm đáng kể chi phí phát triển dự án Java

Ứng dụng đơn giản sau đây trình bày cách tạo hộp thoại Java Swing mà GUI đại diện cho một trang web được xây dựng bằng công nghệ HTML/CSS/JavaScript

Đầu tiên chúng ta tạo tài liệu HTML với nội dung hộp thoại. Trong tài liệu sau đây, chúng tôi sử dụng một trong những khung Giao diện người dùng HTML Bootstrap phổ biến nhất để xây dựng GUI của hộp thoại




    
    Registration Form
    
    
    
    
    



New Account

New Account

Hộp thoại này có các trường văn bản Tên, Họ, Điện thoại, Email và nút Tài khoản mới. Trong ứng dụng Java của chúng tôi, chúng tôi cần hiển thị hộp thoại có nội dung HTML này, cho phép người dùng điền vào tất cả các trường văn bản và nhấp vào nút Tài khoản mới. Trong mã Java của chúng tôi, chúng tôi cần được thông báo khi người dùng nhấp vào nút, đọc các giá trị trường văn bản để tạo tài khoản mới trong ứng dụng của chúng tôi. Ví dụ Java sau minh họa cách chúng ta có thể thực hiện với JxBrowser

import com.teamdev.jxbrowser.browser.Browser;
import com.teamdev.jxbrowser.engine.Engine;
import com.teamdev.jxbrowser.engine.EngineOptions;
import com.teamdev.jxbrowser.engine.RenderingMode;
import com.teamdev.jxbrowser.js.JsAccessible;
import com.teamdev.jxbrowser.js.JsObject;
import com.teamdev.jxbrowser.navigation.event.FrameLoadFinished;
import com.teamdev.jxbrowser.view.swing.BrowserView;
import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

/**
 * The example demonstrates how to integrate GUI built with HTML/CSS/JavaScript 
 * into a Java Swing desktop application.
 */
public final class HelloWorld {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JButton newAccountButton = new JButton("New Account...");
            newAccountButton.addActionListener(e -> createAccount());

            JPanel contentPane = new JPanel();
            contentPane.add(newAccountButton);

            JFrame frame = new JFrame("HTML GUI Example");
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frame.add(contentPane, BorderLayout.CENTER);
            frame.setSize(300, 75);
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
        });
    }

    private static void createAccount() {
        JDialog dialog = new JDialog();
        dialog.setTitle("New Account");
        dialog.setModal(true);

        // Create and initialize the Engine
        EngineOptions options = EngineOptions.newBuilder(
                RenderingMode.HARDWARE_ACCELERATED).build();
        Engine engine = Engine.newInstance(options);

        // Create the Browser
        Browser browser = engine.newBrowser();
        browser.navigation().on(FrameLoadFinished.class, event -> {
            JsObject window = event.frame().executeJavaScript("window");
            if (window != null) {
                // Inject Java object into JavaScript
                AccountService accountService = new AccountService();
                accountService.dialog = dialog;
                window.putProperty("AccountService", accountService);
            }
        });

        // Load HTML with the HTML/CSS/JavaScript GUI
        browser.navigation().loadUrl("file:///Users/me/dialog.html");

        dialog.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                // Close the Engine instance
                engine.close();
                // Close the dialog
                dialog.setVisible(false);
                dialog.dispose();
            }
        });
        dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        // Embed the BrowserView Swing component into the dialog.
        dialog.add(BrowserView.newInstance(browser), BorderLayout.CENTER);
        dialog.setSize(400, 500);
        dialog.setResizable(false);
        dialog.setVisible(true);
    }

    public static final class AccountService {

        JDialog dialog;

        @JsAccessible
        public void createAccount(String firstName, String lastName,
                String phone, String email) {
            Account account = new Account();
            account.firstName = firstName;
            account.lastName = lastName;
            account.phone = phone;
            account.email = email;
            SwingUtilities.invokeLater(() -> {
                dialog.dispose();
                JOptionPane.showMessageDialog(null,
                        "Created Account: " + account);
            });
        }
    }

    public static final class Account {

        String firstName;
        String lastName;
        String phone;
        String email;

        @Override
        public String toString() {
            return "Account {" +
                    "firstName='" + firstName + '\'' +
                    ", lastName='" + lastName + '\'' +
                    ", phone='" + phone + '\'' +
                    ", email='" + email + '\'' +
                    '}';
        }
    }
}

Bây giờ bạn có thể chạy ứng dụng Java này và nhấp vào nút Tài khoản mới

Cách sử dụng HTML với Java

Điền vào tất cả các trường văn bản trong hộp thoại đã mở và nhấp vào nút Tài khoản mới

Cách sử dụng HTML với Java

Khi bạn nhấp vào nút Tài khoản mới, ứng dụng Java sẽ được thông báo về lần nhấp và đọc thông tin tài khoản mới từ hộp thoại

Cách sử dụng HTML với Java

Sử dụng kỹ thuật này và thư viện JxBrowser, bạn có thể xây dựng và hiển thị bất kỳ GUI HTML/CSS/JavaScript nào trong ứng dụng máy tính để bàn Java của mình

Bạn có thể sử dụng HTML với Java không?

Trong java, chúng ta có thể trích xuất nội dung HTML và có thể phân tích cú pháp Tài liệu HTML .

Làm cách nào để kết nối HTML với Java?

Mã HTML. tên tài khoản. < input type="text" name="username" /> Mật khẩu. < kiểu nhập = "mật khẩu" tên = "mật khẩu" />
Hình ảnh hiện trường
Mã Java trong servlet. Chuỗi tên người dùng = yêu cầu. getParameter("tên người dùng" ); . getParameter("mật khẩu");.
đầu ra