2013-05-01 1 views
-2

Il s'agit d'un programme qui stocke les informations relatives aux employés (salaire, noms, numéro d'identification, date d'embauche) dans une liste de matrices. Lorsqu'il est appelé (après avoir appuyé sur 'listButton'), il répertorie ces informations dans un champ que l'employeur peut consulter. L'employé doit retirer un employé de la liste, il y a un removeButton, alors qu'est-ce qui permettrait à l'employeur de supprimer un nom de la liste des employés?Comment faire pour supprimer la variable choisie de la liste de tableau?

public class EmployeeView extends FrameView { 

    class Company { 
     String ID, firstName, lastName, annualSal, startDate, mileage; 

     Company (String _ID, String _firstName,String _lastName, String _annualSal, String _startDate) { 
      ID = _ID; 
      firstName = _firstName; 
      lastName = _lastName; 
      annualSal = _annualSal; 
      startDate = _startDate; 
     } 
    } 

    /** Define the ArrayList */ 
    ArrayList <Company> employee = new ArrayList <Company>(); 

    String ID, firstName, lastName, annualSal, startDate; 

    public EmployeeView(SingleFrameApplication app) { 
     //GUI stuff... 
    } 

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

     ID = IDField.getText(); 
     firstName = firstNameField.getText(); 
     lastName = lastNameField.getText(); 
     annualSal = annualSalField.getText(); 
     startDate = startDateField.getText(); 

     Company c = new Company(ID, firstName, lastName, annualSal, startDate); 
     employee.add(c); 
    } 

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

     String temp = ""; 

     for (int x=0; x<=employee.size()-1; x++) { 
      temp = temp + employee.get(x).ID + " " 
        + employee.get(x).firstName + " " 
        + employee.get(x).lastName + " " 
        + employee.get(x).annualSal + " " 
        + employee.get(x).startDate + "\n"; 
     } 
     employeeTArea.setText(temp); 

} 

    private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) { 
    //My attempt... it didn't do anything though   
      int remove = 0; 

      for (int j = 0; j < employee.size()-1; j++) { 
       if (remove == Integer.parseInt(IDField.getText())) { 

        employee.remove(j); 
       } 
      } 
    } 

Répondre

2

Vous initialisez remove=0, ce que vous voulez faire est:

for (int j = 0; j < employee.size()-1; j++) { 
       if (j == Integer.parseInt(IDField.getText())) { 
        employee.RemoveAt(j); 
       } 
      } 

Vous n'avez pas besoin d'une variable de supprimer. Cette offre est que IDField.getText() l'index de la employee que vous voulez supprimer de la ArrayList

Questions connexes