hi
my problem is that when ever i add to the tablemodel
it will always put the whole added object class into one field
is there a way to get the added objects from my vectorlist and put
them into the appropriate fields
i could use the the example below but it seems stupid to get each
object from the vectorlist then sort out across four columns on one row.
Vector v = new Vector();
for (int i = 0; i < vectorlist.size(); i++){
v.addElement(vectorlist.get(i).name);
v.addElement(vectorlist.get(i).source);
v.addElement(vectorlist.get(i).destin);
v.addElement(vectorlist.get(i).date);
}
vec.add(v);
tablemodel.setDataVector(vec, headernames);
main class
public class Main
{
public static void main(String[] args){
// set up frame
PacketsMain frame = new PacketsMain();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(465, 500);
frame.setVisible(true);
}
}
class PacketsMain extends JFrame
{
// declear headers
Vector headernames = new Vector();
Vector vec = new Vector();
// declear vector array, byte array, ip array
Vector<PacketArray> vectorlist = new Vector<PacketArray>();
// declear table model
DefaultTableModel tablemodel = new DefaultTableModel();
JTable tablelist = new JTable(tablemodel);
JScrollPane optionPane = new JScrollPane(tablelist);
private HandlerTable tablehandler = new HandlerTable();
public PacketsMain() // Constructor
{
super("Table example");
// Add the three panels to the Frame
this.add(optionPane, BorderLayout.CENTER);
// inital checks when class starts
AddHeaders();
AddArray();
HandlerTable handlertable = new HandlerTable();
handlertable.setTable();
}
void AddArray(){
for(int i = 0; i < 10; i++){
vectorlist.add(new PacketArray("hello", i + "source", i + "destip", i +"date"));
}
}
void AddHeaders(){
headernames.addElement("Type");
headernames.addElement("Source");
headernames.addElement("Destination");
headernames.addElement("Date");
// set columns
tablemodel.setColumnIdentifiers(headernames);
}
public class HandlerTable
{
public void setTable() {
vec.add(vectorlist);
tablemodel.setDataVector(vec, headernames);
}
}
}
object class for vector array
public class PacketArray {
private String name;
private String source;
private String destin;
private String date;
public PacketArray(String name, String source, String destin, String date) {
this.name = name;
this.source = source;
this.destin = destin;
this.date = date;
}
// getters
public String getName(){
return name;
}
public String getSource() {
return source;
}
public String getDestin() {
return destin;
}
public String getDate() {
return date;
}
@Override
public String toString()
{
return "(" + name + ", " + source + ", " + destin + ", " + date + ")";
}
}