Caiio
Novembro 9, 2019, 11:30pm
#1
//Adicionando campo na cmbFabrica
cmbFabricante.Items.Add(“Volkswagen”);
//declarando a variável
string strFabrica;
//variavel recebe o texto do item do ComboBox Selecionado
strFabrica = cmbFabricante.Text;
//instrução de seleção
switch(strFabrica)
{
//Agrupando vários casosna mesma seção
case "Volkswagen":
//Adicionando campo na cmbModelo
//Volkswagen
cmbModelo.Items.Add("Golf");
cmbModelo.Items.Add("Jetta");
cmbModelo.Items.Add("UP!");
cmbModelo.Items.Add("T-Cross");
cmbModelo.Items.Add("Fox");
cmbModelo.Items.Add("Gol");
break;
Fabricante:Volkswagen
Modelo: não aparece nada
Galera me ajuda por favor
cmbModelo.Items.Add("Golf");
cmbModelo.Items.Add("Jetta");
cmbModelo.Items.Add("UP!");
cmbModelo.Items.Add("T-Cross");
cmbModelo.Items.Add("Fox");
cmbModelo.Items.Add("Gol");
esses itens estão presentes na comboBox?
Creio que o que você precisa é de um combobox encadeado. Um exemplo:
1 - Fabrica
public class Fabrica {
private int codigoFabrica;
private String nomeFabrica;
/*
* Métodos acessores e modificadores
*/
public void setCodigoFabrica(int codigoFabrica){
this.codigoFabrica = codigoFabrica;
}
public int getCodigoFabrica(){
return codigoFabrica;
}
public void setNomeFabrica(String nomeFabrica){
this.nomeFabrica = nomeFabrica;
}
public String getNomeFabrica(){
return nomeFabrica;
}
}
2 - Modelo
public class Modelo {
private int codigoModelo;
private String nomeModelo;
private Fabrica fabrica;
/*
* Métodos acessores e modificadores
*/
public void setCodigoModelo(int codigoModelo){
this.codigoModelo = codigoModelo;
}
public int getCodigoModelo(){
return codigoModelo;
}
public void setNomeModelo(String nomeModelo){
this.nomeModelo = nomeModelo;
}
public String getNomeModelo(){
return nomeModelo;
}
public void setFabrica(Fabrica fabrica){
this.fabrica = fabrica;
}
public Fabrica getFabrica(){
return fabrica;
}
}
3 - A tela de teste
import java.awt.BorderLayout;
import java.util.List;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JComboBox;
import javax.swing.UIManager;
public class ComboEncadeado extends JFrame {
private List<Fabrica> fabricas = new ArrayList<>();
private List<Modelo> modelos = new ArrayList<>();
private List<Modelo> modelosEncontrados = new ArrayList<>();
public ComboEncadeado(){
setTitle("Combobox Encadeado");
configurarLayout();
retornarFabricas();
retornarModelos();
carregarFabrica();
}
private void configurarLayout(){
layoutDeBorda = new BorderLayout(5, 5);
setLayout(layoutDeBorda);
cbxFabrica = new JComboBox<>();
cbxModelo = new JComboBox<>();
add(cbxFabrica, BorderLayout.NORTH);
add(cbxModelo, BorderLayout.CENTER);
cbxFabrica.addItemListener(
new java.awt.event.ItemListener(){
public void itemStateChanged(java.awt.event.ItemEvent evento){
cbxFabricaItemStateChanged(evento);
}
}
);
}
private void retornarFabricas(){
//List<Fabrica> fabricas = new ArrayList<>();
Fabrica fabrica1 = new Fabrica();
Fabrica fabrica2 = new Fabrica();
Fabrica fabrica3 = new Fabrica();
fabrica1.setCodigoFabrica(1);
fabrica1.setNomeFabrica("Volkswagen");
fabrica2.setCodigoFabrica(7);
fabrica2.setNomeFabrica("Ford");
fabrica3.setCodigoFabrica(39);
fabrica3.setNomeFabrica("Fiat");
fabricas.add(fabrica1);
fabricas.add(fabrica2);
fabricas.add(fabrica3);
//return fabricas;
}
private void retornarModelos(){
Modelo modelo1 = new Modelo();
Modelo modelo2 = new Modelo();
Modelo modelo3 = new Modelo();
Modelo modelo4 = new Modelo();
Modelo modelo5 = new Modelo();
modelo1.setCodigoModelo(8);
modelo1.setNomeModelo("Fox");
modelo1.setFabrica(fabricas.get(0));
modelo2.setCodigoModelo(1);
modelo2.setNomeModelo("Gol G5");
modelo2.setFabrica(fabricas.get(0));
modelo3.setCodigoModelo(52);
modelo3.setNomeModelo("Uno");
modelo3.setFabrica(fabricas.get(2));
modelo4.setCodigoModelo(2);
modelo4.setNomeModelo("Fusion");
modelo4.setFabrica(fabricas.get(1));
modelo5.setCodigoModelo(14);
modelo5.setNomeModelo("Pálio Weekend");
modelo5.setFabrica(fabricas.get(2));
modelos.add(modelo1);
modelos.add(modelo2);
modelos.add(modelo3);
modelos.add(modelo4);
modelos.add(modelo5);
}
private void carregarFabrica(){
//cbxFabrica.removeAll();
cbxFabrica.addItem("Selecione...");
for(Fabrica fabrica : fabricas)
cbxFabrica.addItem(fabrica.getNomeFabrica());
}
private void carregarModelo(String fabrica){
modelosEncontrados.clear();
for(Modelo modelo : modelos){
if(modelo.getFabrica().getNomeFabrica().equals(fabrica)){
modelosEncontrados.add(modelo);
}
}
popularComboModelo();
}
private void popularComboModelo(){
cbxModelo.removeAllItems();
cbxModelo.addItem("Selecione...");
for(Modelo modelo : modelosEncontrados){
cbxModelo.addItem(modelo.getNomeModelo());
}
}
private void cbxFabricaItemStateChanged(java.awt.event.ItemEvent evento){
carregarModelo(cbxFabrica.getSelectedItem().toString());
}
public static void main(String[] args){
try{
for(UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()){
if("Nimbus".equals(info.getName())){
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}catch(Exception excp){}
ComboEncadeado comboEncadeado = new ComboEncadeado();
comboEncadeado.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
comboEncadeado.setSize(320, 100);
comboEncadeado.setVisible(true);
comboEncadeado.setResizable(false);
comboEncadeado.setLocationRelativeTo(null);
}
private BorderLayout layoutDeBorda;
private JComboBox<String> cbxFabrica;
private JComboBox<String> cbxModelo;
}
Rodando…
Caiio
Novembro 13, 2019, 10:44am
#4
Sim, quando eu coloco no ele no case some
Caiio
Novembro 13, 2019, 2:34pm
#5
Problema que não estou conseguindo fazer essa aplicação ser executada em C#