中文占两个字节,而平常的英文字母和数字都是一个字节的。

解决方案 »

  1.   

    我已经找到原因了.在使用输入法的时候,会触发InputMethodListener所绑定的函数.而JTextField已经将输入法的显示和本身文本的显示绑在了一起.现在想拆也拆不开了.可能比较现实的方法就是自己重新写一个JTextField,而且是从Componet类继承(因为绑定InputMethodListener是在Componet类里面).
      或者有一个偷懒的办法,直接用enableInputMethod(false)把输入法关掉就完事了.
      不知道还有没有更好的办法可以把JTextField里绑定的InpuMethodListener给分离出来.我试过用removeInputMethodListener,没用.