Woher kommen die eckigen Klammern [] in der Combobox-Ausgabe

Lautsprecher

Erfahrenes Mitglied
Hi,
ich lese mit folgenden Zeilen per Vector eine SQL Server Datenbank aus:

Code:
private JComboBox getJComboBox()
 {
      if (jComboBox == null) 
     {
	Vector gruppen = groupIdAuslesen();
	jComboBox = new JComboBox(gruppen);
	jComboBox.setBounds(new java.awt.Rectangle(196,11,308,58));
	jComboBox.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 24));
      }
      return jComboBox;
}

Code:
protected Vector groupIdAuslesen()
   {
	   
	   Vector gruppen = new Vector();
	   
	  /* Name des Datenbanktreibers eingeben (z.B. org.gjt.mm.mysql.Driver): );*/
	sDbDrv = "net.sourceforge.jtds.jdbc.Driver";
	/* Url der Datenbank eingeben (z.B. jdbc:mysql://localhost:3306/MeineDb): );*/
		sDbUrl = "jdbc:jtds:sqlserver://SDEUTTPDISYS1:1433:WU_Daten";
		/* Name der Tabelle eingeben (z.B. MeineTestTabelle): );*/
		sTable = "Zeiterfassung";
		/* Benutzername (z.B. root): );*/
		sUsr = "";
		/* Passwort (z.B. mysqlpwd): );*/
		sPwd = "";
   
		if( null != sDbDrv && 0 < sDbDrv.length() &&
				null != sDbUrl && 0 < sDbUrl.length() &&
				null != sTable && 0 < sTable.length() ) 
		{
			
			try 
			{
				// Select fitting database driver and connect:
				Class.forName( sDbDrv );
		cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd );
			}
			catch( Exception ex ) 
			{
				System.out.println( ex );
			} 
		}
		try
    	{
    		st = cn.createStatement();
    		rs = st.executeQuery("SELECT DISTINCT group_id  "  +
           			             "from " + sTable 
           			          
    							);
    		while (rs.next())
    		{	
    				
    			Vector id = new Vector();
    			String gruppenid = null;
    			gruppenid = rs.getString("group_id");
    			
    			if ((gruppenid != null) && (gruppenid != ""))
    			{
    				id.add(rs.getString("group_id"));
    		    	gruppen.add(id);
    			}
    	   }

    	}
    	catch (SQLException e)
    	{
    		e.printStackTrace();
    	}
    	finally 
		{
			try { if( null != rs ) rs.close(); } catch( Exception ex ) {}
			try { if( null != st ) st.close(); } catch( Exception ex ) {}
			try { if( null != cn ) cn.close(); } catch( Exception ex ) {}
		}
	    return gruppen;
   }

Das Auslesen und das Anzeigen der Daten klappt soweit wunderbar, nur leider erscheinen die Werte in der ComboBox mit eckigen Klammer sprich so:

[Glasdeckel] anstatt

Glasdeckel

Woran liegt das und wie bekomme ich die Klammer weg.
PS: In der Datenbank liegen die Werte ohne diese Klammern!!
 
Hm, könnte daran liegen, dass dein Vektor gruppen keine einfachen String-Objekte enthält, sondern wiederum Vektoren. Wenn das beabsichtigt ist, musst die toString-Methode von Vector überschreiben.
 
Hi matdacat,
danke für deinen Hinweise. Du hattest Recht mit deiner Vermutung. Lag an den Vektor
Ich habe jetzt diese Zeilen:

Vector id = new Vector();
id.add(rs.getString("group_id"));
gruppen.add(id);

rausgeschmissen und sie durch:

String gruppenid = null;
gruppen.add(gruppenid);

ersetzt.
Danke
 
Zurück