Olá pessoal, bom dia!
Gostaria de ouvir de vcs sugestões para o código que vou postar abaixo, mas primeiro vou relatar o pequeno problema.
Eu preciso listar em uma JList a relação de usuários contida em uma tabela e isso é fácil. O usuário seleciona o nome correspondente ao seu usuário para acessar o sistema. Eu gostaria de levar o código do usuário que está na tabela para a próxima tela e resolvi a questão da forma abaixo.
private JList getJList_Exemplo() {
if (jList_Exemplo == null) {
final DefaultListModel DLM_NomeDoPerfilUsuario = new DefaultListModel();
jList_Exemplo = new JList(DLM_NomeDoPerfilUsuario);
try {
Session GerenciarSessaoPerfilDeUsuario = HibernateUtil.getSessao();
PerfilUsuario ObjetoNomeDoPerfilDeUsuario = new PerfilUsuario();
List<PerfilUsuario> ListarNomePerfilDeUsuario = new ArrayList<PerfilUsuario>();
ListarNomePerfilDeUsuario = GerenciarSessaoPerfilDeUsuario.createQuery("from PerfilUsuario where Situacao='A' order by Nome_Completo").list();
int TamanhoDaListaDoNomeDoPerfilDoUsuario = ListarNomePerfilDeUsuario.size();
for(int i=0;i<TamanhoDaListaDoNomeDoPerfilDoUsuario;i++) {
ObjetoNomeDoPerfilDeUsuario = ListarNomePerfilDeUsuario.get(i);
DLM_NomeDoPerfilUsuario.addElement(ObjetoNomeDoPerfilDeUsuario.getNome_Completo());
}
GerenciarSessaoPerfilDeUsuario.close();
}
catch(Exception ErroPerfilUsuario) {
JOptionPane.showMessageDialog(null,"Erro ao Exibir o Perfil de Usuário! - "+ErroPerfilUsuario);
}
jList_Exemplo.setSize(new Dimension(250, 300));
jList_Exemplo.setLocation(new Point(50, 10));
jList_Exemplo.setSelectedIndex(-1);
jList_Exemplo.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
jList_Exemplo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jList_Exemplo.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
int IndiceDoNomeDoPerfilDoUsuario = jList_Exemplo.getSelectedIndex();
final DefaultListModel DLM_CodigoDoPerfilUsuario = new DefaultListModel();
try {
Session GerenciarSessaoPerfilDeUsuario = HibernateUtil.getSessao();
PerfilUsuario ObjetoCodigoDoPerfilDoUsuario = new PerfilUsuario();
List><PerfilUsuario> ListarCodigoDoPerfilDeUsuario = new ArrayList<PerfilUsuario>();
ListarCodigoDoPerfilDeUsuario = GerenciarSessaoPerfilDeUsuario.createQuery("from PerfilUsuario where Situacao='A' order by Nome_Completo").list();
int TamanhoDaListaDoCodigoDoPerfilDoUsuario = ListarCodigoDoPerfilDeUsuario.size();
for(int i=0;i<TamanhoDaListaDoCodigoDoPerfilDoUsuario;i++) {
ObjetoCodigoDoPerfilDoUsuario = ListarCodigoDoPerfilDeUsuario.get(i);
DLM_CodigoDoPerfilUsuario.addElement(ObjetoCodigoDoPerfilDoUsuario.getCodigo());
}
GerenciarSessaoPerfilDeUsuario.close();
}
catch(Exception ErroCodigoDoPerfilDoUsuario) {
JOptionPane.showMessageDialog(null,"Erro ao Pesquisar o Código do Perfil de Usuário! - "+ErroCodigoDoPerfilDoUsuario);
}
JOptionPane.showMessageDialog(null,"A POSIÇÃO do Nome do Perfil do Usuário no índice é: "+IndiceDoNomeDoPerfilDoUsuario);
Object CodigoDoPerfilDoUsuario = DLM_CodigoDoPerfilUsuario.getElementAt(IndiceDoNomeDoPerfilDoUsuario);
JOptionPane.showMessageDialog(null,"O CÓDIGO localizado neste índice é: "+CodigoDoPerfilDoUsuario);
String NomeDoPerfilDoUsuario = (String) DLM_NomeDoPerfilUsuario.getElementAt(IndiceDoNomeDoPerfilDoUsuario);
JOptionPane.showMessageDialog(null,"O NOME localizado neste índice é: "+NomeDoPerfilDoUsuario);
}
});
}
return jList_Exemplo;
}
Estou no caminho certo ou está muito complexa a minha solução?
Grato.>