日期:2014-05-20  浏览次数:20975 次

关于JTextArea的换行问题(解决问题立刻结贴)
各位大侠,怎样来让JTextArea自动换行,比如说全屏时一行输入40个汉字就换行,不是全屏的时候输入20个汉字就换行,就是根据窗口大小来自动换行,怎么解决这个问题啊?还有怎么去掉下面的滚动条?解决问题立刻结贴!

------解决方案--------------------

setLineWrap(boolean wrap)
如setLineWrap(true)可以设置自动换行。
------解决方案--------------------
public void setLineWrap(boolean wrap)设置文本区的换行策略。
如果设置为 true,则当行的长度大于所分配的宽度时,将换行。
如果设置为 false,则始终不换行。当策略更改时,将激发 PropertyChange 事件( "lineWrap ")。此属性默认为 false

public void setWrapStyleWord(boolean word)设置换行方式(如果文本区要换行)。
如果设置为 true,则当行的长度大于所分配的宽度时,将在单词边界(空白)处换行。
如果设置为 false,则将在字符边界处换行。此属性默认为 false。
------解决方案--------------------
按你说的全屏时一行输入40个汉字就换行,不是全屏的时候输入20个汉字就换行,根据窗口大小来自动换行。如果不进行字符计数来实现似乎有些困难,不知道有没有现成的方法。关注!
------解决方案--------------------
你可以先放一个jScrollPane,然后把jTextArea放到它上面,之后设置jTextArea的lineWrap为True就行了,会自动换行,只有上下滚动条。
------解决方案--------------------
直接setLineWrap(boolean wrap) 就可以达到没有滚动条的要求,没有必要加jScrollPane。、
楼主说的说的“全屏时一行输入40个汉字就换行,不是全屏的时候输入20个汉字就换行,根据窗口大小来自动换行”。能不能详细点,不太明白。