JEditorPaneHTMLEditorKitParserRandom随机数

wen java案例 1

本文目录导读:

JEditorPaneHTMLEditorKitParserRandom随机数

  1. Java Swing 示例:在 JEditorPane 中显示带随机数的 HTML
  2. 关键点说明
  3. 扩展功能
  4. 注意事项

根据您提供的关键词 JEditorPaneHTMLEditorKitParserRandom随机数,我推测您可能想要实现以下功能之一:

  1. 在 JEditorPane 中显示包含随机数的 HTML 内容
  2. 解析 HTML 并提取其中的随机数
  3. 动态生成包含随机数的 HTML 并显示

下面我将针对最常见的场景(在 JEditorPane 中生成并显示包含随机数的 HTML)提供一个完整的 Java 示例。

Java Swing 示例:在 JEditorPane 中显示带随机数的 HTML

import javax.swing.*;
import javax.swing.text.html.HTMLEditorKit;
import java.awt.*;
import java.util.Random;
public class JEditorPaneRandomExample {
    public static void main(String[] args) {
        // 创建窗口
        JFrame frame = new JFrame("JEditorPane 随机数示例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 400);
        // 创建 JEditorPane
        JEditorPane editorPane = new JEditorPane();
        editorPane.setEditable(false);
        editorPane.setContentType("text/html");
        // 使用 HTMLEditorKit 增强 HTML 渲染
        HTMLEditorKit kit = new HTMLEditorKit();
        editorPane.setEditorKit(kit);
        // 生成包含随机数的 HTML 内容
        String htmlContent = generateHtmlWithRandomNumbers();
        // 设置 HTML 内容
        editorPane.setText(htmlContent);
        // 添加到窗口
        frame.add(new JScrollPane(editorPane), BorderLayout.CENTER);
        frame.setVisible(true);
    }
    /**
     * 生成包含随机数的 HTML 内容
     */
    private static String generateHtmlWithRandomNumbers() {
        Random random = new Random();
        // 生成几个随机数
        int randomInt = random.nextInt(1000);
        double randomDouble = 1.0 + (random.nextDouble() * 99.0); // 1.0 ~ 100.0
        int randomDice = random.nextInt(6) + 1; // 1~6 骰子点数
        StringBuilder html = new StringBuilder();
        html.append("<html><body style='font-family: Arial, sans-serif; padding: 20px;'>");
        html.append("<h2 style='color: #2c3e50;'>随机数生成器</h2>");
        html.append("<hr>");
        html.append("<p><strong>随机整数 (0-999):</strong> <span style='color: #27ae60; font-size: 18px;'>")
            .append(randomInt).append("</span></p>");
        html.append("<p><strong>随机小数 (1.0-100.0):</strong> <span style='color: #2980b9; font-size: 18px;'>")
            .append(String.format("%.2f", randomDouble)).append("</span></p>");
        html.append("<p><strong>骰子点数 (1-6):</strong> <span style='color: #e74c3c; font-size: 24px;'>🎲 ")
            .append(randomDice).append("</span></p>");
        html.append("<hr>");
        html.append("<p style='color: #7f8c8d; font-size: 12px;'>页面刷新时间: ")
            .append(new java.util.Date()).append("</p>");
        html.append("</body></html>");
        return html.toString();
    }
}

关键点说明

JEditorPane + HTMLEditorKit

  • JEditorPane 是 Swing 中的轻量级 HTML 渲染组件
  • HTMLEditorKit 提供更完善的 HTML 解析和渲染能力(支持 CSS、表格等)

随机数生成

  • 使用 java.util.Random 类生成各类随机数
  • nextInt(n) 生成 0 到 n-1 的随机整数
  • nextDouble() 生成 0.0 到 1.0 的双精度浮点数

HTML 拼接

  • 将随机数直接插入到 HTML 字符串中
  • 可以使用 CSS 样式美化显示效果

扩展功能

如果您想实现点击按钮刷新随机数,可以这样修改:

// 添加刷新按钮
JButton refreshButton = new JButton("刷新随机数");
refreshButton.addActionListener(e -> {
    editorPane.setText(generateHtmlWithRandomNumbers());
});
frame.add(refreshButton, BorderLayout.SOUTH);

注意事项

  1. JEditorPane 对 HTML 的支持有限(HTML 3.2 + 部分 CSS)
  2. 复杂页面建议使用 JavaFX 的 WebView
  3. 如果需要处理大量随机数或复杂交互,考虑使用 JavaFX

希望这个示例对您有帮助!如果有其他具体需求,欢迎进一步说明。

抱歉,评论功能暂时关闭!