Jeden problem, który mam, to mam 2 JTextAreas i muszę dodać listę elementów do nich. Problem, który napotykam, jest ciągiem, który nie przechodzi automatycznie do następnego wiersza, gdy osiągnie koniec JTextArea. Tak, aby rozwiązać ten problem, próbowałem to: (przepraszam, jeśli mój kod jest trochę zaniedbany.)Java JTextArea multiline help
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);
}
żadnej pomocy na co mogłem zrobić inaczej lub zmiana byłaby znacznie ceniona
To pomogło i zadziałało bardzo dziękuję! = D –
@ Michael: jeśli to pomogło, to w górę głosuj odpowiedzi, jeśli rozwiązuje problem "zaakceptuj" odpowiedź. Nie edytuj tytułu pytania, aby określić go jako "zamknięty", ponieważ ma on zupełnie inne znaczenie na tym forum. Sugeruje to, że członkowie forum zamknęli to pytanie jako nieadekwatne lub nieodpowiednie. –