Raw File
package modeles.tableaux;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.ResourceBundle;

import javax.swing.table.AbstractTableModel;

import modeles.MessageModel;

public class TabMessagesForumModel extends AbstractTableModel {

	private static final long serialVersionUID = 1L;
	private String[] columnNames;
	@SuppressWarnings("rawtypes")
	private Class[] types;
	private List<MessageModel> listMessages;
	
	public TabMessagesForumModel(List<MessageModel> listMessages, ResourceBundle messagesListe) {
		super();
		this.listMessages = new ArrayList<MessageModel>(listMessages);
		this.types = new Class[] { String.class, Date.class, String.class, String.class, String.class, String.class, String.class, String.class, String.class, Integer.class, String.class, Integer.class };
		this.columnNames = new String[] { messagesListe.getString("txt_IdMessage"), messagesListe.getString("txt_Date"), messagesListe.getString("txt_Locuteur"),
				messagesListe.getString("txt_MailLocuteur"), messagesListe.getString("txt_ProfilYahoo"), messagesListe.getString("txt_GPYahoo"), messagesListe.getString("txt_IdGoogle"), messagesListe.getString("txt_Forum"),
				messagesListe.getString("txt_Sujet"), messagesListe.getString("txt_NumDansTopic"), messagesListe.getString("txt_SujetTronque") };
	}

	@Override
	public String getColumnName(int col) {
		return columnNames[col];
	}

	@Override
	public Class<?> getColumnClass(int columnIndex) {
		return types[columnIndex];
	}

	@Override
	public int getColumnCount() {
		return columnNames.length;
	}

	@Override
	public int getRowCount() {
		return listMessages.size();
	}

	@Override
	public Object getValueAt(int row, int col) {
		switch (col) {
		case 0:
			return listMessages.get(row).getIdentifiant();
		case 1:
			return listMessages.get(row).getDateUS();
		case 2:
			return listMessages.get(row).getExpediteur();
		case 3:
			return listMessages.get(row).getMail();
		case 4:
			return listMessages.get(row).getProfilYahoo();
		case 5:
			return listMessages.get(row).getGroupPostYahoo();
		case 6:
			return listMessages.get(row).getIdGoogle();
		case 7:
			return listMessages.get(row).getFName();
		case 8:
			return listMessages.get(row).getSujet();
		case 9:
			return listMessages.get(row).getfNumDansConversation();
		case 10:
			return listMessages.get(row).getSujetTronque();
		default:
			return null;
		}
	}

	public void addMessage(MessageModel message) {
		listMessages.add(message);

		fireTableRowsInserted(listMessages.size() - 1, listMessages.size() - 1);
	}

	public void removeMessage(int row) {
		listMessages.remove(row);

		fireTableRowsDeleted(row, row);
	}
}
back to top