Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

jtable vector of vectors and object class

843806Dec 10 2008
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 + ")";
        }

}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 7 2009
Added on Dec 10 2008
0 comments
146 views