Boa tarde.
Pessoal, estou com uma dúvida aqui em relação a popular combo com uma consulta SQL.
Sei que tem muito disso aqui no fórum, mas não consegui encaixar nada ou pelo - entender…
O código que tenho de criação do combo é o seguinte;
package Suporte;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class ConsAdm extends javax.swing.JFrame {
JComboBox combo1 = null;
MyComboModel model = null;
JButton btOK = null;
Formulario form;
public ConsAdm() {
setTitle("Administração");
setLayout(new GridLayout(1, 3));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
form = FormularioSingle.getInstance();
final ArrayList<String> ast = new ArrayList<String>();
model = new MyComboModel(ast);
combo1 = new JComboBox(model); //Aqui ele cria o combo...
btOK = new JButton("OK"); //Aqui ele cria o botão...
initListeners(); //Inicia a ação do botão.
getContentPane().add(combo1); //Aqui ele adiciona o combo...
add(btOK); //Aqui ele adiciona o botão...
setLocationRelativeTo(null); //Posiciona no centro da tela.
pack();
}
/*-- Inicio do método de ação do botão OK --*/
public void initListeners() {
btOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//form.setAssunto(combo1.getSelectedItem().toString());
new Registro().setVisible(true);
dispose();
}
});
}
/*-- Fim do método de ação do Botão OK --*/
class MyComboModel extends DefaultComboBoxModel {
public ArrayList<String> ast = null;
public MyComboModel(ArrayList<String> ast) {
this.ast = ast;
}
@Override
public Object getElementAt(int index) {
return this.ast.get(index);
}
@Override
public Object getSelectedItem() {
return super.getSelectedItem();
}
@Override
public int getSize() {
return this.ast.size();
}
}
}
O código do meu Select é o seguinte
public void SelUsCad() {
String comando = "Select Nome From tblUsuario";
try {
Statement stmt = cx.fazConexao().createStatement();
ResultSet rs = stmt.executeQuery(comando);
String selecionado = "";
while (rs.next()) {
String nome = rs.getString("Nome");
ca.AdicionaCombo(nome);
ca.setVisible(true);
//Mandar resultado do Select para o combo!
}
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Não há usuário ou houve um erro na busca.");
}
}
Eu até tentei fazer algumas coisas, mas não consigo!!
A classe do Select é chamada Banco() e a do combo é chamada ConsAdm(). Como eu faço o select no Banco() e mando para ConsAdm() para popular uma combo?
Aguardo!!
muito obrigado.