我遇到的一个问题是我有2个JTextAreas,我需要为它们添加一个项目列表.
我遇到的问题是当字符串到达JTextArea的末尾时,它不会自动移动到下一行.所以为了解决这个问题我尝试了这个:(对不起,如果我的代码有点草率.)
我遇到的问题是当字符串到达JTextArea的末尾时,它不会自动移动到下一行.所以为了解决这个问题我尝试了这个:(对不起,如果我的代码有点草率.)
- public void setIncludeAndExclude(ArrayList<JComboBox> Boxes){
- String in = "",ex = "";
- String[] inSplit,exSplit;
- boolean[] include = new boolean[Boxes.get(0).getModel().getSize()-1];
- for(int i = 0; i < Boxes.size(); i ++){
- if(Boxes.get(i).getSelectedIndex() != 0){
- include[Boxes.get(i).getSelectedIndex() -1] = true;
- }
- }
- for(int i = 0; i < include.length; i ++){
- if(include[i]){
- //numToItem is a method that turns an int into a string e.g. 1 = "Acesss Doors"
- in += (numToItem(i+1)+ ",");
- }else{
- ex += (numToItem(i+1)+ ",");
- }
- }
- //take off the last comma
- in = in.substring(0,in.lastIndexOf(","));
- ex = ex.substring(0,ex.lastIndexOf(","));
- //get how many lines there should be
- inSplit = new String[(in.length()/100) +1];
- exSplit = new String[(ex.length()/100) +1];
- String temp;
- int istart = 0,iend = Math.min(100,in.length()),estart = 0,eend = Math.min(100,ex.length());
- for(int i = 0; i < inSplit.length; i ++){
- try{
- temp = in.substring(istart,iend);
- int Iindex = temp.lastIndexOf(",");
- temp = ex.substring(estart,eend);
- int Eindex = temp.lastIndexOf(",");
- inSplit[i] = in.substring(istart,Iindex);
- exSplit[i] = ex.substring(estart,Eindex);
- istart = Iindex; iend = Math.min(iend + 100,in.length());
- estart = Eindex; eend = Math.min(eend + 100,ex.length());
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- //reset in and ex to ""
- in = ""; ex = "";
- //set in and ex to the new string with newline characters
- for(int i = 0; i < inSplit.length; i ++){
- in += inSplit[i] + "\n";
- ex += exSplit[i] + "\n";
- }
- //set the text of the JTextAreas
- Include.setText(in);
- Exclude.setText(ex);
- }
任何帮助我可以做的不同或改变将非常感激