Boa tarde, tenho um programa onde estou cadastrando Montadoras, Carros e Peças destes carros. A parte de cadastrar a montadora, funcionou perfeito, na janela de cadastro de carros, tenho um ComboBox onde seleciono qual a montadora deste carro, cadastrar isso está funcional, mas na hora de consulta, gostaria que modificasse o “selecionado” do ComboBox em relação ao que está cadastrado.
Segue o código:
private List<Carro> carroList = new CarroController().listaCarros();
private int registroAtual = 0;
//lista retornada pelo MontadoraController
private final List<Montadora> montadoras = new MontadoraController().listaMontadoras();
private final DefaultComboBoxModel cb_modelo = new DefaultComboBoxModel();
private void onClickUltimo() {
registroAtual = carroList.size() - 1;
getValores(registroAtual);
jL_Id.setText(Integer.toString(registroAtual));
}
private void onClickProximo() {
if (registroAtual != carroList.size() - 1) {
getValores(++registroAtual);
jL_Id.setText(Integer.toString(registroAtual));
}
}
private void onClickAnterior() {
if (registroAtual != 0) {
getValores(--registroAtual);
jL_Id.setText(Integer.toString(registroAtual));
}
}
private void onClickPrimeiro() {
registroAtual = 0;
getValores(registroAtual);
jL_Id.setText(Integer.toString(registroAtual));
}
private void getValores(int index) {
if (index <= carroList.size() - 1) {
Carro carroAtual = carroList.get(index);
tf_nome.setText(carroAtual.getCarnome());
tf_ano.setText(carroAtual.getCarano());
tf_modelo.setText(carroAtual.getCarmodelo());
cb_montadora.setSelectedItem(carroAtual.getMontadoramontid());
}
}
private void onClickAlterar() {
CarroController crc = new CarroController();
int carid = carroList.get(registroAtual).getCarid();
try {
Montadora montadora = (Montadora) cb_montadora.getSelectedItem();
Integer idMontadora = montadora.getMontid();
jL_Id.setText(Integer.toString(registroAtual));
crc.alterar(carid, tf_nome.getText(), tf_ano.getText(), tf_modelo.getText(), idMontadora);
JOptionPane.showMessageDialog(this, "Carro alterado com sucesso!");
clearFields();
carroList = new CarroController().listaCarros();
} catch (SQLException e) {
JOptionPane.showMessageDialog(this, "Nao foi possivel alterar carro!n" + e.getLocalizedMessage());
} catch (ParseException e) {
JOptionPane.showMessageDialog(this, "Data possui formato inválido!n" + e.getLocalizedMessage());
}
}
private void onClickSalvar() {
CarroController crc = new CarroController();
try {
Montadora montadora = (Montadora) cb_montadora.getSelectedItem();
Integer idMontadora = montadora.getMontid();
jL_Id.setText(Integer.toString(registroAtual));
crc.salvar(tf_nome.getText(), tf_ano.getText(), tf_modelo.getText(), idMontadora);
JOptionPane.showMessageDialog(this, "Carro salvo com sucesso!");
clearFields();
carroList = new CarroController().listaCarros();
} catch (SQLException e) {
JOptionPane.showMessageDialog(this,
"Nao foi possivel salvar carro!n" +
e.getLocalizedMessage()
);
} catch (ParseException e) {
JOptionPane.showMessageDialog(this,
"Data possui formato inválido!n" +
e.getLocalizedMessage()
);
}
}
private void onClickExcluir() {
CarroController crc = new CarroController();
long id = carroList.get(registroAtual).getCarid();
try {
jL_Id.setText(Integer.toString(registroAtual));
crc.excluir(id);
JOptionPane.showMessageDialog(this, "Carro excluido com sucesso!");
clearFields();
carroList = new CarroController().listaCarros();
} catch (SQLException e) {
JOptionPane.showMessageDialog(this,
"Nao foi possivel excluir o carro!n" +
e.getLocalizedMessage()
);
}
}
private void onClickLocalizar() {
CarroController crc = new CarroController();
try {
Montadora montadora = (Montadora) cb_montadora.getSelectedItem();
Integer idMontadora = montadora.getMontid();
Carro cr = crc.buscaCarroPorNome(tf_campo.getText());
tf_nome.setText(cr.getCarnome());
tf_ano.setText(cr.getCarano());
tf_modelo.setText(cr.getCarmodelo());
cb_montadora.setSelectedItem(idMontadora);
jL_Id.setText(cr.getCarid().toString());
} catch (SQLException e) {
JOptionPane.showMessageDialog(this,
"Ocorreu um erro, tente novamente!n" +
e.getLocalizedMessage()
);
} catch (NullPointerException e){
JOptionPane.showMessageDialog(this,
"Carro não localizdo ou não existe!n" +
e.getLocalizedMessage()
);
}
}
private void clearFields() {
tf_nome.setText("");
tf_ano.setText("");
tf_modelo.setText("");
}
Grato desde já