Проблема с setText в Java Gui JGui неправильно нумеруется в Java - PullRequest
1 голос
/ 25 октября 2011

Спасибо, что нашли время посмотреть на еще один из моих вопросов.

Это кажется основной проблемой, но я не могу ее решить.

Я работаю над программой, которая содержит сотрудников иесть отделы, в которых работают эти сотрудники.

Я создал поле setText, которое через цикл for печатает содержимое списка массивов, который содержит все отделы в списке.

Я хочуВы знаете, что каждый отдел нумеруется. Отдел № 1: место продаж в Бразилии, Отдел № 2: отдел маркетинга в США.и так далее, но вместо этого он делает это: печатает все это в одной строке.

Номер отдела: 3D Номер отдела: 2D Номер отдела: 1 Название отдела: Отдел маркетинга Место расположения: Нью-Йорк Название отдела: Отдел продаж Расположение: Бостон Название отдела: Бухгалтерия Место нахождения: Лос-Анджелес

КодЯ использовал это

//prints a list of all employees in the system for user to choose from
for (int i = 0; i <  allDepartments.size(); i++) {
    System.out.print("Department no: ");
    departmentDetails.setText("Department no: "+(i+1)+departmentDetails.getText()+" "+ allDepartments.get(i));
    System.out.print(  allDepartments .get(i));
}

Может кто-нибудь, пожалуйста, помогите мне, как правильно его кодировать, чтобы каждый отдел был пронумерован индивидуально.

1 Ответ

0 голосов
/ 25 октября 2011

Похоже, вы не вводите символы новой строки (\n) в вашу строку.

Вы также, похоже, используете содержимое текстового поля в качестве сведений об отделе, поэтому вы получаете поведение department3 department2 department1 <details> loc1 loc2 loc3. Каждый проход в цикле добавляет «отдел #» к началу строки и «loc #» к концу. Текстовое содержимое во время цикла будет выглядеть так:

department1 <details> loc1
department2 department1 <details> loc1 loc2
department3 department2 department1 <details> loc1 loc2 loc3

Чтобы избежать путаницы с добавлением строки, попробуйте использовать StringBuilder в цикле и впоследствии поработать со встроенной строкой:

StringBuilder departments = new StringBuilder();
//prints a list of all employees in the system for user to choose from
for (int i = 0; i < allDepartments.size(); i++) {
    departments.append("Department no: ");
    departments.append(i + 1);
    departments.append(" Department name: ");
    departments.append("<departmentDetails>");
    departments.append(" Location: ");
    departments.append(allDepartments.get(i));
    departments.append('\n');
}
System.out.println(departments.toString());

Я использую образец строки в названии отдела этого примера, так как не уверен, откуда вы намеревались его получить.

...