而且JTextPane的text有他的相关属性的,
我不能简单的把text用字符转码解决。
不知道它是不是一个字符加属性是一个基本单元的。

解决方案 »

  1.   

    我以前序列化过JTable的TableModel,也有中文在里面可是没有出现什么问题
    我认为中文在序列化上应该不存在问题的,你的问题在于其他地方上面吧
    我看也没有必要序列化整个JTextPane,相关属性?都取出来得了,不会有多少
      

  2.   

    实在不行你可以只初始化你要用的东西
    如定义一个String str= JtextPane.getText();
    然后把str序列化试试
      

  3.   

    应该不是程序的问题,因为我只是在对text设值的时候,一种方式下设的是中文
    一种方式下设的是英文,没有其他的操作。另外我在jdk1.4的demo中找到了一个Stylepad的源程序。
    它在保存文件的时候也是用的序列化的方法,对document序列化(正确的说也许应该是
    DefaultstyledDocument类)。我在序列化的时候实际也用的是对document序列化。
    不过它在有中文的时候也不能正确的保存。
    至于直接对字符串转码,我想可能并不适合编辑器.
    因为它不是单纯的Text,每个字符都有一个属性集的。
      

  4.   

    可能是个bug,具体的出错信息是什么?哪个类不能serialize?
      

  5.   

    用中文编译java程序
    javac -encoding gb2312 ...
      

  6.   

    出错信息就是NotSeriableException.没显示在那里出错的,我只到document层。
    因为在document层之下的元素不知道它具体是如何实现的。
    至于encoding,我好象把所有与中文有关的编码方式都试过了还是没用。
    我是在Jbuilder的encoding 选项中直接改的。
      

  7.   

    这个问题我们也遇到过,现在的swing包里面的确有很多东西是不能直接序列化的,含中文的JText控件好像都不行,只好把中文部分抽出来另存了。以后的swing包会改进串行化问题,但1.4.0还没有