`

JEditorPane 中文乱码

 
阅读更多

JEditorPane 中文乱码

根据文件的系统路径进行读取不会出现乱码,如果根据url(如:http://www.juapk.com/index.html)读取,一定要设置好服务器的编码格式,要不然会出现乱码的。

下面是在网上找到的一个例子:

 

import java.io.*;

import java.awt.event.*;

import javax.swing.JEditorPane;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

 

public class JEditorPaneTest {

 

    public static void main(String[] args) {

        JEditorPane editPane = null;

        try {

        //System.setProperty("file.encoding", "UTF-8");//系统编码格式

            File file = new File("src/test.html");

            String str = file.getAbsolutePath();//取得文件位置的绝对路径

            str = "file:" + str;//将绝对路径合成一完整的输入字符串

 

            editPane = new JEditorPane();//构造一个空的JEditorPane

            editPane.setEditable(false);

            //现在还不知道下边两行代码的作用

            editPane.setContentType("text/html;charset=utf-8");

            editPane.putClientProperty("charset", "utf-8");

            editPane.setPage(str);

        } catch (IOException ioe) {

            ioe.printStackTrace(System.err);

            System.exit(0);

        }

 

        editPane.setEditable(false);

        JFrame f = new JFrame("JEditorPaneTest");

        f.setContentPane(new JScrollPane(editPane));

        f.setSize(200, 200);

        f.show();

        f.addWindowListener(new WindowAdapter() {

 

            public void windowClosing(WindowEvent e) {

                System.exit(0);

            }

        });

    }

}

一个test.html页面(注意下边的文件保存的时候选择字符集为utf-8,要不然也会出现乱码的):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title></title>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  </head>

  <body>

    TODO write:中国

  </body>

</html>

分享到:
评论

相关推荐

    JEditorPane_html.rar_html jeditorpane_jeditorpane html

    1. **组件类型**:`JEditorPane`是`javax.swing.text.JTextComponent`的一个子类,因此它继承了`JTextComponent`的所有特性,如文本编辑、格式化和显示能力。 2. **HTML支持**:`JEditorPane`能够解析和显示HTML...

    Swing拖拽(文件拖入JEditorPane)

    本资源主要关注如何实现将文件内容拖入JEditorPane以及将文件路径拖入其他Swing组件。JEditorPane是Swing提供的一种文本编辑器组件,它可以显示和编辑HTML、纯文本等多种格式的文本。 1. **Swing拖放机制**: ...

    JEditorPane/JTextPane常见操作(字体,颜色,字号,加粗,斜线,下划线,保存,行间距 等操作)以及HTML空格处理

    在Java的Swing库中,`JEditorPane`和`JTextPane`是两种非常重要的文本组件,它们允许用户编辑和显示富文本内容,包括不同的字体、颜色、字号、样式等。这两个组件都是`javax.swing.text`包的一部分,提供了丰富的...

    控制jEditorPane和jTextPane换行的演示程序

    在Java Swing库中,`JEditorPane`和`JTextPane`是两个常用的文本组件,它们用于显示和编辑富文本内容。这两个组件都是基于`javax.swing.text`包中的抽象类`Document`,提供了对HTML和纯文本的支持。在这个“控制...

    DocumentRenderer

    在Java Swing中,我们可以使用`javax.swing.JEditorPane`或`javax.swing.WebView`(在JavaFX中)来显示和操作Web内容。然而,`DocumentRenderer`可能是一个自定义的类,专门设计用来将Web页面内容转换为适合打印的...

    SwingBox:SwingBox是Java Swing组件,它允许显示(X)HTML文档,包括CSS支持。 它被设计为JEditorPane的替代品,具有更好的渲染结果。 SwingBox是纯Java语言,它使用CSSBox渲染引擎来渲染文档

    Swing盒SwingBox是Java Swing组件,它允许显示(X)HTML... 它被设计为JEditorPane的替代品,具有更好的渲染结果。 SwingBox是纯Java语言,它使用CSSBox渲染引擎来渲染文档。 有关更多信息和下载,请参见项目页面: :

    java网页浏览器组件介绍(全的4种) (1).pdf

    本文主要介绍了JDK内置的JEditorPane组件,这是其中的一种方法。JEditorPane是Swing库中的一个轻量级组件,允许在Java应用中展示和编辑各种格式的内容,包括纯文本、HTML和RTF。 JEditorPane的创建可以通过以下几种...

    html转图片

    ... ... ...4. **绘制图像**:将每个元素在Canvas上逐个绘制,包括文本、图像、形状等。...5. **导出图片**:完成绘制后,Canvas提供了`toDataURL`方法,可以将整个画布转化为数据URL,进一步可以设置为`&lt;img&gt;`标签的`src`属性...

    双内核web浏览器

    总的来说,这个项目为Java开发者提供了一个实践机会,通过学习和使用jdic JEditorPane,他们可以深入理解Java GUI编程,特别是如何在Java应用程序中嵌入复杂的Web浏览功能。同时,这也是一种探究双内核浏览器工作...

    Java 网页浏览器组件介绍(全的4种).pdf

    本文主要介绍了在Java中实现这一功能的四种方法,重点讲解了JDK自带的JEditorPane组件。 JEditorPane是Swing库中的一个轻量级组件,它允许开发者在Java应用中展示和编辑多种格式的内容,包括纯文本、HTML和RTF。...

    Java 网页浏览器组件介绍(全的4种).docx

    本文主要介绍了四种在Java中实现网页浏览器组件的方法,其中重点关注JDK自带的JEditorPane。JEditorPane是Swing库中的一个组件,它可以显示和编辑多种格式的内容,包括纯文本、HTML和RTF。 **JEditorPane组件详解**...

    Java超链接 Java超链接

    本教程将详细解释如何在Java中实现超链接,以及涉及到的关键技术,包括`HyperlinkEvent`、`JEditorPane`、`Runtime.getRuntime()`。 首先,我们来看`HyperlinkEvent`。这是一个Java AWT(抽象窗口工具包)事件类,...

    Java网页浏览器组件介绍(全的4种).pdf

    private JEditorPane jep = new JEditorPane(); ``` 2. 设置内容类型为HTML ```java jep.setContentType("text/html"); ``` 3. 禁止编辑 ```java jep.setEditable(false); ``` 4. 注册`HyperlinkListener`来处理...

    java应用页面内嵌游览器swing.zip

    JEditorPane editorPane = new JEditorPane(); try { editorPane.setPage("http://www.example.com"); // 替换为你想加载的网页URL } catch (IOException e) { e.printStackTrace(); } // 将JEditorPane添加...

    java仿浏览器

    由于`JEditorPane`不能自动调整大小以适应网页内容,我们可以将其放入`JScrollPane`中,这样当网页内容超出组件大小时,用户可以通过滚动条查看剩余内容。 4. **ActionListener**:为了让用户可以导航到新的URL,...

Global site tag (gtag.js) - Google Analytics