栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

具有内嵌图像的JEditorPane

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

具有内嵌图像的JEditorPane

您需要为“数据:”添加协议处理程序,以便可以为其打开URL / URLConnection。或者,您可以为类路径资源创建一些协议处理程序“
resource:”。

您需要一个

data
带有类的包
Handler
(固定名称约定!)。这将是“数据:”的工厂类,返回URLConnection。我们将为此创建DataConnection。

可以通过System.setProperty完成协议处理程序的安装。在这里,我提供了

Handler.install();
以一般方式进行的操作。

package test1.data;import java.io.IOException;import java.net.URL;import java.net.URLConnection;import java.net.URLStreamHandler;public class Handler extends URLStreamHandler {    @Override    protected URLConnection openConnection(URL u) throws IOException {        return new DataConnection(u);    }    public static void install() {        String pkgName = Handler.class.getPackage().getName();        String pkg = pkgName.substring(0, pkgName.lastIndexOf('.'));        String protocolHandlers = System.getProperty("java.protocol.handler.pkgs", "");        if (!protocolHandlers.contains(pkg)) { if (!protocolHandlers.isEmpty()) {     protocolHandlers += "|"; } protocolHandlers += pkg; System.setProperty("java.protocol.handler.pkgs", protocolHandlers);        }    }}

URLConnection为字节提供InputStream:

package test1.data;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import java.net.URL;import java.net.URLConnection;import javax.xml.bind.DatatypeConverter;public class DataConnection extends URLConnection {    public DataConnection(URL u) {        super(u);    }    @Override    public void connect() throws IOException {        connected = true;    }    @Override    public InputStream getInputStream() throws IOException {        String data = url.toString();        data = data.replaceFirst("^.*;base64,", "");        System.out.println("data: " + data);        byte[] bytes = DatatypeConverter.parsebase64Binary(data);        return new ByteArrayInputStream(bytes);    }}

聪明的地方是

DatatypeConverter
在标准Java SE中使用base64解码。


聚苯乙烯

如今人们会使用

base64.getEnprer().enpre(...)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452696.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号