我希望在文本框中每行输入的字符不大于34个,如果大于34个字符的话自动换行,小于34个字符不换行,但可以敲回车键换行。还有如果我觉得我前面几行漏字了,加字时也要满足以上条件。我觉得回车键、回格键、上下左右键、光标的位置都要监听到。希望大家能解答,万分感谢!

解决方案 »

  1.   

    理论上就是这样的,自己去文本框加一个key处理事件.
      

  2.   

    这个程序写起来好像比较复杂了,给你思路,具体你自己实现吧
    1、当输入每个字符时,获得文本框的内容
    2、用String的split("\n")分割每一行,再判断每一行是否超出你所需的字符,然后重新分配及显示(实现起来有点难度)
    3、你也可以尝试着让Backspace起作用至于你说的“上下左右键、光标的位置都要监听到”这个好像没多大的意义,因为每输入一个字符,都可以将TextArea的内容重新读取。
      

  3.   

    用String的split("\n")分割每一行,再判断每一行是否超出你所需的字符,然后重新分配及显示(实现起来有点难度)
    这个貌似不太好实现
    判断出来一行 其他每一行都要跟着动, 而且后面跟着的有可能是用户故意(专门)要换行的地方 这是没办法区分的
    还有半角的标点符号 诸如此类
      

  4.   

    str.split("\n");得到的是字符串数组。你将对每一行进行判断是否超过34,可以用for循环做。超过34的那行就是你光标所在的行。