package Models; import ZeroTypes.TransportTypes.TNetworkClient; import javax.swing.table.DefaultTableModel; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Date; import java.util.LinkedList; import java.util.List; /** * Custom TableModel for storing TNetworkClient Objects in a JTable */ public class ClientTableModel extends DefaultTableModel { private List<TNetworkClient> clients; public ClientTableModel(){ this.addColumn("ID"); this.addColumn("Name"); this.addColumn("Address"); this.addColumn("Connected Since"); clients = new LinkedList<TNetworkClient>(); } public void addClient(TNetworkClient client){ clients.add(client); this.addRow(new String[] {((Integer)client.getId()).toString(), client.getName(), client.getAddress().getHostAddress(), client.getConnectedSince().toString()}); } public void addClients(List<TNetworkClient> clients){ for(TNetworkClient client : clients){ addClient(client); } } public TNetworkClient removeClientAt(int rowNr) throws UnknownHostException { this.removeRow(rowNr); return clients.remove(rowNr); } public void removeAllClients(){ for(int i=0; i < this.getRowCount(); i++){ this.removeRow(i); } } public List<TNetworkClient> getAllClients() throws UnknownHostException { return clients; } }