Boa tarde pessoal,
Estou tentando “pegar” uma string da funcao ldap() e passar para o Jcombo uma lista de usuarios do Ldap.
Só que está passando em uma string gigante, e não um abaixo do outro.
Como posso retornar estes dados de forma que meu jcombobox leia de forma correta?
import java.util.Iterator;
import javax.swing.*;
import com.novell.ldap.*;
public class GUI {
public static void main(String[] args) throws LDAPException {
new GUI().frm1();
}
public GUI frm1() throws LDAPException{
JFrame f = new JFrame();
f.setSize(290,150);
f.setLocation(150, 200);
f.setTitle("Cadastro");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pl = new JPanel();
pl.setLayout(null);
JLabel lbcategoria = new JLabel("Usuarios");
lbcategoria.setBounds(80,10,60,20);
pl.add(lbcategoria);
JComboBox<String> c = new JComboBox<String>();
c.setBounds(130,20,1030,20);
c.addItem(ldap()); // ====>>aqui que precisa passar os nomes para o combobox
pl.add(c);
f.add(pl);
f.setVisible(true);
return null;
}
public String ldap() throws LDAPException{
String description = null;
LDAPConnection conn = new LDAPConnection();
conn.connect("192.168.1.2",389);
String[] attrIDs = {"DisplayName"};//,"givenName","sn","mail","samAccountName","telephoneNumber","physicalDeliveryOfficeName"};
conn.bind(LDAPConnection.LDAP_V3, "CN=usuarioparabind,OU=administrativos,OU=usuarios,OU=empresa,DC=com,DC=br",
"senha".getBytes());
LDAPSearchResults search = conn.search("OU=usuarios,OU=empresa,DC=com,DC=br", LDAPConnection.SCOPE_SUB,"(&(objectClass=user)(sAMAccountName=*))", attrIDs, false);
while(search.hasMore()){
LDAPEntry entry = search.next();
LDAPAttributeSet attribute = entry.getAttributeSet();
Iterator<?> it = attribute.iterator();
while(it.hasNext()){
LDAPAttribute att = (LDAPAttribute) it.next();
description += (att.getStringValue());
//System.out.println(att.getName() +"=>"+ att.getStringValue());
}
//System.out.println();
}
return description;
}
}
Obrigado.