2015-08-27 2 views
-1

это сообщение в первый раз, так что простите, если вопрос плох.Хранение пользовательского ввода в массиве или Arraylist

Я был возился с графическим интерфейсом в netbeans и пытался получить пользовательский ввод из текстового поля в массив или ArrayList. Я пытаюсь временно хранить пользовательский ввод для имени клиента, адреса, даты, количества точек и количества зон, а затем отображать их в TextArea в виде списка, отсортированного по дате.

Кода я попытался только тогда:

private void enterButtonActionPerformed(java.awt.event.ActionEvent evt) {            


    List<List<String>> model = new ArrayList<List<String>>(); 
    ArrayList<Double> numOutlets = new ArrayList<Double>(); 

    nameField.selectAll(); 
    addressField.selectAll(); 
    outletField.selectAll(); 
    String customerName = nameField.getSelectedText(); 
    String address = addressField.getSelectedText(); 

    List<String> line = Arrays.asList(new String[]{customerName, address}); 
      model.add(line); 

      StringBuilder sb = new StringBuilder(); 
      Display.append(String.format("Customer Address")); 
      for(List<String> input : model) { 
       for (String item : input) { 
        Display.append(item); 
        if (input.indexOf(item) == input.size()-1) { 
         Display.append("\n"); 
        } else { 
         Display.append("\t"); 


        } 
       } 
      } 





    /*Display.append(String.format(" " + installationNumber + " " + customerName + " " + address)); 

       nameField.setText(""); 
       addressField.setText(""); 
       zoneField.setText(""); 
       outletField.setText(""); 
       dateField.setText(""); 

    installationNumber++; 

Основные проблемами я имеющая храним входные данные пользователя от TextFields в массивы.

Если у вас есть другой путь я должен идти об этом, то, что было бы также быть удивительным, я относительно новым для Java, и я действительно только сделал несколько небольших программ

Любая помощь очень ценится.

+2

Оставьте свой код и укажите, что именно и где у вас возникла проблема. – Codebender

+0

У вас есть одно текстовое поле для всего адреса? – MrT

+0

Да, у меня есть одно текстовое поле для всего адреса – krissy

ответ

0

В этом случае хранение данных в массиве или массиве ArrayList не имеет большого значения в способе, которым вы будете выполнять итерацию по элементам. Однако использование ArrayList выглядит более чистым, поскольку оно объединяет связанную информацию (имя и адрес одного клиента) вместе. Я думаю, что лучший подход заключается в создании класса модели для хранения данных. Что-то вроде этого:

private class Customer { 
    private name; 
    private address; 

    //getter and setter methods 
} 

Затем в коде, вы сохраните информацию, как показано ниже:

List<Customer> customers = new ArrayList<Customer>(); 

String customerName = nameField.getSelectedText(); 
String address = addressField.getSelectedText(); 
Customer customer = new Customer(); 
customer.setName(customerName); 
customer.setAddress(address); 
customers.add(customer); 

Теперь вы можете перемещаться по списку клиентов:

for(Customer input : customers) { 
    Display.append(input.getName()); 
    Display.append("\t"); 
    Display.append(input.getAddress()); 
    Display.append("\n"); 
} 

Это также проще, если вы хотите отобразить дополнительную информацию у клиента (например, номер телефона, пол, ...). Как будет выглядеть код в этом случае, если вы используете массив или ArrayList?

+0

Большое спасибо, что прояснил это для меня, все работает хорошо сейчас, спасибо! – krissy

Смежные вопросы