高手请进:我把JTextArea设置为自动换行即setLineWrap(true),请问如何在每次自动换行的时候自动在加一个换行符啊?帮帮忙阿,我已经郁闷

时间:2022-06-22 07:07:44
我把JTextArea设置为自动换行即setLineWrap(true),请问如何在每次自动换行的时候自动在加一个换行符啊?帮帮忙阿,我已经郁闷好几天了!


问题来源:我想把JTextArea里面的内容打印出来(分页打印)。先是用getText()取出来放在一个String 里面,然后再打印出来,打印的时候是按照String 中的换行符来计算行数的(从而计算页数)。但是由于JTextArea自动换行的时候没有自动加换行符(本人推测),所以打印出来的页面根本没有按要求换行。帮帮忙吧,还有什么不明白的地方,请指出!在线等待中。。。。。。。

17 个解决方案

#1


难道没有人愿意帮我这个忙吗?

#2


个人认为,第一,你在输入文件时,里面加入换行符,第二,就是写一个BEAN对JTEXTAREA里读出的内容,进行处理,因为从JTextArea里面读出来的内容,初始状态是保持读出来的样式,也就是原来输入什么格式,它就保持什么格式!处理以后再打印!

#3


第一、在输入文件时,里面加入换行符,显得界面不友好。既然已经设为自动换行了,用户是不会在换行前加一个回车的

第二、也不行啊,“从JTextArea里面读出来的内容,初始状态是保持读出来的样式”对啊,自动换行的时候还是没有回车符啊!

大家想想,还有什么方法啊?

#4


难道没有人愿意帮我这个忙吗?

#5


你可以进JAVA的帮助,在里面找TextArea的帮助,
不过我想提几点,
TextArea是一个文本域,不要用getText和setText方法,因为它得到的是最后的一个结果。
你可以用(我想一下)好像是TextArea.append(传入参数)来设置吧,因为append是追加吧。
不是覆盖,你查一下帮助看一下是不是这个方法。

#6


再提一下:其实在参数里加一个“\n”就可以换行。

#7


谢谢 xingfo(一江涛水)了,确实有append这个函数,但是我现在就是不知道JTextArea是什么时候换的行,所以也不知道该什么时候使用appen这个方法,要不,谁能重写一个类给小弟看看吗?

#8


哥们高手顶一下阿

#9


有难度,帮顶

#10


哥们高手顶一下阿

#11


这么大一个CSDN社区,难道就没有人能够解读这个问题吗?

#12


我不知道你要的是什么样的结果,就我做的而言要打印出东西的话,并且要有格式,如果跟数据库连接的话就可以用数据库中的方法了,在java里面,要用文本域来打印,有点不好。
append是在你打多个结果输入到你指定的文本域中去时用。叫追加。
实际问题实际分析。

#13


我想应该在TextChange事件里判断如果文字长度%Text长度 == 0就直接拼一个回车上去应该可以吧.

#14


用户输入完后处理输入得文本,每隔多少个字符加入一个回车符号。

#15


我记得JEditorPane有自动换行的功能试试

#16


我发一个给你试一试,里面估计有你需要的

#17


这样吧,我做一个jsp页面中的文本框JTextArea来说明换行吧。
<%
//下面方法myTranslate的作用是将StrinBuffer中的回车符号换为<br>
StringBuffer myTranslate(StringBuffer sour)
{
      for(int i=0;i<sour.length();i++)
     {       
         if(sour.substring(i,i+1).equals("\n"))
         {
             sour.delete(i,i+1);
             sour.insert(i,"<br>");
         }
     }
     return sour;
}
%>

//后面就是获取了
<%
     request.setCharacterEncoding("GBK");
     Stirng text=request.getParameter("你定义的文本框名");
     text=myTranslate(text);
     out.println(text);

%>
//这里主要用到了j2sdk中的StringBuffer类。
//你可以试一下看看有没用。

#1


难道没有人愿意帮我这个忙吗?

#2


个人认为,第一,你在输入文件时,里面加入换行符,第二,就是写一个BEAN对JTEXTAREA里读出的内容,进行处理,因为从JTextArea里面读出来的内容,初始状态是保持读出来的样式,也就是原来输入什么格式,它就保持什么格式!处理以后再打印!

#3


第一、在输入文件时,里面加入换行符,显得界面不友好。既然已经设为自动换行了,用户是不会在换行前加一个回车的

第二、也不行啊,“从JTextArea里面读出来的内容,初始状态是保持读出来的样式”对啊,自动换行的时候还是没有回车符啊!

大家想想,还有什么方法啊?

#4


难道没有人愿意帮我这个忙吗?

#5


你可以进JAVA的帮助,在里面找TextArea的帮助,
不过我想提几点,
TextArea是一个文本域,不要用getText和setText方法,因为它得到的是最后的一个结果。
你可以用(我想一下)好像是TextArea.append(传入参数)来设置吧,因为append是追加吧。
不是覆盖,你查一下帮助看一下是不是这个方法。

#6


再提一下:其实在参数里加一个“\n”就可以换行。

#7


谢谢 xingfo(一江涛水)了,确实有append这个函数,但是我现在就是不知道JTextArea是什么时候换的行,所以也不知道该什么时候使用appen这个方法,要不,谁能重写一个类给小弟看看吗?

#8


哥们高手顶一下阿

#9


有难度,帮顶

#10


哥们高手顶一下阿

#11


这么大一个CSDN社区,难道就没有人能够解读这个问题吗?

#12


我不知道你要的是什么样的结果,就我做的而言要打印出东西的话,并且要有格式,如果跟数据库连接的话就可以用数据库中的方法了,在java里面,要用文本域来打印,有点不好。
append是在你打多个结果输入到你指定的文本域中去时用。叫追加。
实际问题实际分析。

#13


我想应该在TextChange事件里判断如果文字长度%Text长度 == 0就直接拼一个回车上去应该可以吧.

#14


用户输入完后处理输入得文本,每隔多少个字符加入一个回车符号。

#15


我记得JEditorPane有自动换行的功能试试

#16


我发一个给你试一试,里面估计有你需要的

#17


这样吧,我做一个jsp页面中的文本框JTextArea来说明换行吧。
<%
//下面方法myTranslate的作用是将StrinBuffer中的回车符号换为<br>
StringBuffer myTranslate(StringBuffer sour)
{
      for(int i=0;i<sour.length();i++)
     {       
         if(sour.substring(i,i+1).equals("\n"))
         {
             sour.delete(i,i+1);
             sour.insert(i,"<br>");
         }
     }
     return sour;
}
%>

//后面就是获取了
<%
     request.setCharacterEncoding("GBK");
     Stirng text=request.getParameter("你定义的文本框名");
     text=myTranslate(text);
     out.println(text);

%>
//这里主要用到了j2sdk中的StringBuffer类。
//你可以试一下看看有没用。