Gerando Jlabels e jacomboBox Dinamicamente[RESOLVIDO]

2 respostas
R

Bom dia a todos,

sou iniciante em java e estou tendo uma duvida.

Tenho que fazer uma aplicação onde tenho que gerar jlabels e jacombobox com dados diferentes para cada usuario.

Primeiro instanciei um array de Jlabel e JcomboBox.
private JComboBox comboNotas[] = new JComboBox[50];
private JLabel labelItens[] = new JLabel[50];
depois criei um metodo com o seguinte corpo:
public void geraLabelCombox (Integer idAuditoria, Integer idGrupo){ // inicio do metodo
		
		Integer x = 52; // atributo do labelItens;
		Integer y = 52; // atributo do comboNotas;
		java.util.List<String> listaItens = new ArrayList<String>();
		Conexao c = new Conexao();
		c.conectar(); 
		
		
		
		ResultSet rsc = c.executaQuery("SELECT SBI.nome AS nomeItens " +
									 "FROM AUDITORIA A " +
									 "INNER JOIN ADICIONANDO_NOTAS ADN ON (ADN.AUDITORIA_id = A.id) " +
									 "INNER JOIN GRUPO G ON (ADN.GRUPO_id = G.id) " +
									 "INNER JOIN SUB_CATEGORIA_ITEM SBI ON (SBI.id = ADN.SUB_CATEGORIA_ITEM_id ) " +
									 "INNER JOIN AUDITOR AU ON (ADN.AUDITOR_id = AU.id)" +
									 "WHERE A.id = "+idAuditoria+" AND G.id = "+idGrupo+"");
		
		try {
			
			while (rsc.next()){
			listaItens.add(rsc.getString("nomeItens"));	
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		c.desconectar();
		
		
		
		for (int i = 0; i < listaItens.size(); i++){
			labelItens[i] = new JLabel(listaItens.get(i));
		    labelItens[i].setBounds(31, x, 257, 16);
		    
		    panel_2.add(labelItens[i]);
		    x +=28;
		}
		
		for (int i = 0; i <= total; i++){
			 comboNotas[i] = new JComboBox();
		    comboNotas[i].setBounds(310, y, 151, 16);
		    comboNotas[i].setToolTipText("Adicionando Notas");
		    panel_2.add(comboNotas[i]);
		    y +=28;
		    comboNotas[i].setVisible(true);
		}
	} // fim do metodo

Este metodo é chamado em um evento de um JcomboBox :

public void itemStateChanged(ItemEvent eve) {
	    		if ((eve.getStateChange() == ItemEvent.SELECTED) && (!comboGrupo.getSelectedItem().equals("SELECIONE UM GRUPO")) ){
	    			int idGrupo = retornaID("select id from GRUPO WHERE nome = '"+comboGrupo.getSelectedItem()+"'"); // obtem o id 
	    			atualizarFoto(idGrupo);
	    			int idAuditoria = retornaID("Select id FROM AUDITORIA WHERE nome = '"+comboAuditoria.getSelectedItem()+"'"); // obtem o id do Auditoria
	    			
	    			
	    			geraLabelCombox(idAuditoria, idGrupo); // chamo o metodo passando os paramentros para a select 
	    			
	    			
	    			//preencheJlabel(idAuditoria, idGrupo);
	    			
	    		}
	    	}

So que ao acionar o evento não é gerada nenhuma exeção e não aparece nada no Jpanel.

Alguem tem alguma outra ideia de como poderia fazer isso??? ou estou fazendo algo de errado???

Obrigado.

2 Respostas

Rummenigge

Dê um repaint() no painel

R

Valeu!!

Deu certo aki…

Abrçss

Criado 25 de abril de 2011
Ultima resposta 25 de abr. de 2011
Respostas 2
Participantes 2