Classe comboteste: Cria a interface grafica
[code]public class ComboTeste extends JFrame{
JFrame frame;
JPanel panel;
JLabel label_estado, label_municipio;
JComboBox combo_estado, combo_municipio;
String estado;
ComboTeste(){
frame = new JFrame();
frame.setTitle("Carregar combo");
frame.setSize(300, 150);
frame.setLocation(300, 250);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
panel = new JPanel();
frame.getContentPane().add(panel);
panel.setLayout(null);
label_estado = new JLabel("Estado:");
label_estado.setBounds(10, 10, 50, 50);
panel.add(label_estado);
label_municipio = new JLabel("Municipio:");
label_municipio.setBounds(10, 30, 100, 100);
panel.add(label_municipio);
combo_municipio = new JComboBox();
combo_municipio.setBounds(80, 70, 150, 20);
combo_estado = new JComboBox();
combo_estado.setBounds(80, 25, 150, 20);
combo_estado.addItemListener(new ItemListener(){
public void itemStateChanged ( ItemEvent e ) {
estado = (String) combo_estado.getItemAt ( combo_estado.getSelectedIndex() );
System.out.println(estado);
TesteEntidade i = new TesteEntidade();
i.getUf(estado);
System.out.println(i.getv4());
i.comboMunicipio(combo_municipio, i.getv4(), "uf");
combo_municipio.addItem(null);
}
});
carregaEstado();
panel.add(combo_estado);
panel.add(combo_municipio);
frame.setVisible(true);
}
public void carregaEstado(){
TesteEntidade m = new TesteEntidade();
m.comboEstado(combo_estado,"nome_estado");
}
public void carregaMunicpio(){
TesteEntidade m = new TesteEntidade();
m.comboteste(combo_municipio, "nome_municipio");
}
public static void main(String[] args) {
ComboTeste x = new ComboTeste();
}
}
[/code]
Classe DML
[code]public class DML extends ConectaBD {
public String query;
public ResultSet rs;
public int x;
private String v3 = "uf", v4;
public String getv4(){
return v4;
}
public void combo(JComboBox combo, String v1){
try{
String v2;
rs = stm.executeQuery(query);
while(rs.next()){
v2 = rs.getString(1);
combo.addItem(v2);
}
}
catch (Exception e) {
e.printStackTrace();
System.err.println("erro");
}
}
public void comboteste(JComboBox combo, String v1){
try{
String v2;
rs = stm.executeQuery(query);
while(rs.next()){
v2 = rs.getString(v1);
System.out.println(v2);
combo.addItem(v2);
}
}
catch (Exception e) {
e.printStackTrace();
System.err.println("erro");
}
}
public void comboteste(String v1){
try{
String v2;
rs = stm.executeQuery(query);
while(rs.next()){
v4 = rs.getString(v3);
}
}
catch (Exception e) {
e.printStackTrace();
System.err.println("erro");
}
}
}
[/code]
[code]public class TesteEntidade extends DML{
public void comboEstado(JComboBox combo, String v1){
query = "SELECT nome_estado, uf from estado";
super.comboteste(combo,v1);
}
public void comboMunicipio(JComboBox combo, String v1, String v2){
query = "SELECT nome_municipio from municipio where uf like '"+v1+"'";
super.combo(combo, v2);
}
public void getUf(String estado){
query = "SELECT uf from estado where nome_estado like '"+estado+"'";
super.comboteste(estado);
}
}[/code]
Primeiro problema: Os resultados que vem do banco estão vindo duplicados
Segundo problema: Quando eu altero a combo_estado, ao inves de modificar a combo_municipio vai adicionando os municipios
alguem pode dar uma força aqui??? 
