You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将网站上的所有图片添加到JEditorPane中

需求可实现性说明

该需求完全可以实现,核心思路是先抓取目标网站的所有图片资源地址,再构造仅包含图片标签的HTML内容注入到JEditorPane即可,不需要保留网站其他文本或冗余HTML代码。

具体实现逻辑
  • 第一步:抓取目标网站的所有图片URL
    先解析目标网站的HTML源码,筛选出所有<img>标签的src属性值,注意处理相对路径转绝对路径的逻辑。
  • 第二步:构造仅包含图片的HTML内容
    把收集到的图片URL逐个拼接成<img src="图片地址">格式的标签,包裹在基础HTML结构中,不需要添加其他多余标签。
  • 第三步:将构造好的HTML内容设置到JEditorPane
    确保JEditorPane的ContentType设置为text/html,直接调用setText方法传入构造好的HTML即可完成图片加载。
可运行示例代码
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import javax.swing.*;
import java.io.IOException;

public class LoadSiteImagesToPane {
    public static void main(String[] args) throws IOException {
        // 替换为你的目标网站地址
        String targetSiteUrl = "你的网站地址";
        // 你已经完成配置的JEditorPane实例
        JEditorPane pane = new JEditorPane();
        pane.setContentType("text/html");
        pane.setEditable(false);

        // 抓取网站所有图片URL
        Document doc = Jsoup.connect(targetSiteUrl)
                // 可根据需要添加请求头绕过反爬限制
                .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
                .get();
        Elements imgTags = doc.select("img");
        StringBuilder htmlBuilder = new StringBuilder("<html><body style=\"margin:0;padding:0;\">");

        for (Element img : imgTags) {
            // 自动把相对路径转为绝对路径
            String imgAbsoluteUrl = img.absUrl("src");
            if (!imgAbsoluteUrl.isBlank()) {
                // 可按需添加width/height属性控制图片显示大小
                htmlBuilder.append("<img src=\"").append(imgAbsoluteUrl).append("\"><br>");
            }
        }

        htmlBuilder.append("</body></html>");
        pane.setText(htmlBuilder.toString());

        // 以下为测试显示逻辑,可根据你的实际场景调整
        JFrame frame = new JFrame("网站图片加载结果");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new JScrollPane(pane));
        frame.setSize(800, 600);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}
注意事项
  • 若网站有反爬机制,可在请求HTML时补充Cookie、Referer等请求头模拟正常浏览器访问
  • 图片数量较多时可添加异步加载逻辑,避免界面卡顿
  • 若需要调整图片排版,可在构造HTML时添加简单的CSS样式控制

内容的提问来源于stack exchange,提问作者primevibetime

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:36:04