A better approach would be to use a JTable (instead of the JList). Then the data from each text field represents a column in the table and you update the TableModel by using the addRow(...) method of the DefaultTableModel.