import java.util.Date;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.swing.table.AbstractTableModel;
public class MyTableModel extends AbstractTableModel{
private int noOfRows, noOfCols;
private Object[][] mdata;
private String subject;
private String from;
private Date date;
private Message[] mess;
public MyTableModel(int r, int c) {
// TODO Auto-generated constructor stub
noOfRows = r;
noOfCols = c;
mdata = new Object[noOfRows][noOfCols];
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return(noOfRows);
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return(noOfCols);
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return mdata[rowIndex][columnIndex];
}
public void setValueAt (Object odj, int r, int c) {
this.fireTableStructureChanged();
this.fireTableDataChanged();
}
public void wtf(Object ob) {
try {
mess = (Message[])ob;
if (mess.length != 0) {
for (int i = 0; i < mess.length; i++) {
from = InternetAddress.toString(mess[i].getFrom());
subject = mess[i].getSubject();
date = mess[i].getSentDate();
mdata[i][0]=mess[i].getMessageNumber();
mdata[i][1]=from;
if(i==1)
System.out.println(from);
mdata[i][2]=subject;
mdata[i][3]=date;
}
}
else System.out.println("ПУСТО");
}
catch (MessagingException e){
e.printStackTrace();
}
}
}
потом так (это все в другом классе)
model = new MyTableModel(mess.length, 4);
model.wtf(mess);
table.setModel(model);
table.validate();
фишка в том что это работает но только 1 раз при запуске формы, а потом когда я хочу вывести сообщения с другого ящика, ничего не обновляет но в массив все данные заносятся.