JTable

CosmoKey

Mitglied
hi,

ich versuch gerade mit einer JTable zu arbeiten,. aber immer, wenn ich verusche, sie neu aufzubauen, werden die alten inhalte nicht gelöscht, sonderen die neuen werden einfach an die alten drangehängt.


hier ist mein code:

Code:
		ResultSet rs =  context.getFromDatabase("SELECT * FROM mail_accounts");
		//accountTable = null;
		
		
		//JTable accountTable = new JTable();
		accountTable.removeAll();
		//accountTable.setDragEnabled(false);
		tableScroll.remove(accountTable);
		getContentPane().remove(tableScroll);
		//this.remove(tableScroll);
		Object obj [][] = null;
		
		Vector objecte_1 = new Vector(0);
		Vector objecte_2 = new Vector(0);
		
		objecte_1.add("id");
		objecte_1.add("Account");
		objecte_1.add("Benutzer");
		objecte_1.add("Server");
		
		
		try {
			
			
			while (rs.next()) {
				accounts.addElement(new MailAccount(rs.getString("name"),rs.getString("pop_server"),rs.getString("smtp_server"),rs.getString("user"),rs.getString("password"),rs.getInt("id")));
				
			}
		} catch (SQLException sqle) {
			sqle.printStackTrace();
		}
		if (accounts.size() > 0) {
			
			objecte_2.clear();
			obj = new Object[accounts.size()] [4];
			for (int i=0; i < accounts.size(); i++) {
			
				MailAccount acc = (MailAccount)accounts.elementAt(i);
				obj[i][0] = new Integer(acc.getid());
				obj[i][1] = acc.getName();
				obj[i][2] = acc.getUser();
				obj[i][3] = acc.getPOP();

				Vector tmp = new Vector(0);
				tmp.add(new Integer(acc.getid()));
				tmp.add(acc.getName());
				tmp.add(acc.getUser());
				tmp.add(acc.getPOP());
				objecte_2.add(tmp);
			}
			accountTable.setModel(new DefaultTableModel(
				obj,
				new String [] {
					"ID","Account", "Benutzer", "Server"}
			));
			
			accountTable = new JTable(objecte_2, objecte_1);
			accountTable.setGridColor(new Color(255, 255, 255));
			tableScroll.setViewportView(accountTable);
			getContentPane().add(tableScroll, new AbsoluteConstraints(20, 20, 300, 80));

		}
		else {
			accountTable.setModel(new DefaultTableModel(
					null,
					new String [] {
						"ID","Account", "Benutzer", "Server"}
			));
			accountTable.setGridColor(new Color(255, 255, 255));
			tableScroll.setViewportView(accountTable);
			getContentPane().add(tableScroll, new AbsoluteConstraints(20, 20, 300, 80));
		}

ich hoffe, jemand kann mir sagen, was ich hier falsch mache
 
ups

hab den fehler mitlerweile gefunden. lag an einem vector, den ich für den aufbau der table benutze. hab einfach nur vergessen, ihn zu leeren. daher standen immer die alten einträge mit drin!
 

Neue Beiträge

Zurück