Java JTextArea多行帮助

前端之家收集整理的这篇文章主要介绍了Java JTextArea多行帮助前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到的一个问题是我有2个JTextAreas,我需要为它们添加一个项目列表.
我遇到的问题是当字符串到达​​JTextArea的末尾时,它不会自动移动到下一行.所以为了解决这个问题我尝试了这个:(对不起,如果我的代码有点草率.)
  1. public void setIncludeAndExclude(ArrayList<JComboBox> Boxes){
  2. String in = "",ex = "";
  3. String[] inSplit,exSplit;
  4.  
  5.  
  6. boolean[] include = new boolean[Boxes.get(0).getModel().getSize()-1];
  7. for(int i = 0; i < Boxes.size(); i ++){
  8. if(Boxes.get(i).getSelectedIndex() != 0){
  9. include[Boxes.get(i).getSelectedIndex() -1] = true;
  10. }
  11. }
  12.  
  13. for(int i = 0; i < include.length; i ++){
  14. if(include[i]){
  15. //numToItem is a method that turns an int into a string e.g. 1 = "Acesss Doors"
  16. in += (numToItem(i+1)+ ",");
  17. }else{
  18. ex += (numToItem(i+1)+ ",");
  19. }
  20. }
  21.  
  22. //take off the last comma
  23. in = in.substring(0,in.lastIndexOf(","));
  24. ex = ex.substring(0,ex.lastIndexOf(","));
  25.  
  26. //get how many lines there should be
  27. inSplit = new String[(in.length()/100) +1];
  28. exSplit = new String[(ex.length()/100) +1];
  29.  
  30. String temp;
  31. int istart = 0,iend = Math.min(100,in.length()),estart = 0,eend = Math.min(100,ex.length());
  32.  
  33. for(int i = 0; i < inSplit.length; i ++){
  34. try{
  35. temp = in.substring(istart,iend);
  36. int Iindex = temp.lastIndexOf(",");
  37. temp = ex.substring(estart,eend);
  38. int Eindex = temp.lastIndexOf(",");
  39. inSplit[i] = in.substring(istart,Iindex);
  40. exSplit[i] = ex.substring(estart,Eindex);
  41. istart = Iindex; iend = Math.min(iend + 100,in.length());
  42. estart = Eindex; eend = Math.min(eend + 100,ex.length());
  43. }catch(Exception e){
  44. e.printStackTrace();
  45. }
  46. }
  47.  
  48. //reset in and ex to ""
  49. in = ""; ex = "";
  50.  
  51. //set in and ex to the new string with newline characters
  52. for(int i = 0; i < inSplit.length; i ++){
  53. in += inSplit[i] + "\n";
  54. ex += exSplit[i] + "\n";
  55. }
  56.  
  57. //set the text of the JTextAreas
  58. Include.setText(in);
  59. Exclude.setText(ex);
  60.  
  61. }

任何帮助我可以做的不同或改变将非常感激

解决方法

JTextArea具有setLineWrap(…)和setWrapStyleWord(…)方法.也许您需要做的就是在JTextArea的设置上将它们都设置为true.

一点批评:你的代码很难解释,因为你没有说明哪些变量是JTextAreas(我猜是“包括”和“排除”),并没有评论什么是做什么.请在这里写下你的问题,我们的想法是我们对你的代码一无所知,也无法读懂思想.你的问题越清楚,通常就越容易回答.谢谢.

猜你在找的Java相关文章