ola pessoal
estava fazendo um metodo que cria um select, fiz, e ate o momento ela funciona “bem”, a nao ser por um problema, ela nao esta ordenada.
queria a ajuda de vcs para conseguir fazer esta ordenacao.
ja dei uma procurada, tentei usar o SortedMap, mas nao deu muito certo
segue a classe
package br.com.krusst.util.web;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class InputForm {
public static void criaSelecMenu( javax.servlet.jsp.JspWriter out,
String nomeCampo,
Map<String,String> lista,
String selectedValor,
String nomeEstilo){
try{
//se nomeEstilo estiver preenchido entao adiciono ele como classe de estilo
if(nomeEstilo.length()>0){nomeEstilo = " class=\"" + nomeEstilo + "\" ";}
//pego os valores da chave da lista
Set chaves = lista.keySet();
Iterator i = chaves.iterator();
//escrevo o inicio do selecMenu com o NAME e ID
out.println(" <select name=\"" + nomeCampo + "\" id=\"" + nomeCampo + "\""+ nomeEstilo +">");
//out.println("<select>");
//valor da chave,ID do select
String chave = "";
//valor da descricao do select
String descricao = "";
//marca o item como selecionado
String selectedStatus = "";
//loop varrendo todos os valores de i
while(i.hasNext()){
//pego o valor da chave atual dentro do loop
chave = i.next().toString();
//pego o valor da descricao da chage
descricao = lista.get(chave).toString();
//verifico se o selectedValor é igual ao valor da chave(ID), se for, marco como selecionado, do cantrario, o desmarco
if(selectedValor.equals(chave)){selectedStatus = " selected ";}else{selectedStatus = "";}
//escrevo o selectItem
out.println(" <option value=\""+chave+"\"" + selectedStatus + ">"+descricao+"</option>");
}
//escrevo o fim do selecMenu
out.println("</select>");
}catch(java.io.IOException e1){
System.out.println(e1);
}
}
}
eu tenho que ordenar pela descricao
ser alguem puder me ajudar, agradeço
abs
T+