Assign selected item to Jcombobox

0

I have a problem where my jComboBox values are not being returned but the values in the database are correct.

I have a Vehicle Master jframe, which when triggered by the search button, calls the pesquisaVeiculo methods and calls a jDialog to search the database. Once the selected vehicle is selected, it closes and returns the values in the jFrame of CadastroDeVeiculo , but the jComboBox does not return any value, it gets the Default item selected, the jTextField returns with the values that were selected.

jFrame = VehicleCode

    public class CadastroDeVeiculos extends javax.swing.JFrame {

    private Connection conexao;//Cria metodo de conexao

    //Construtor
    public CadastroDeVeiculos(){
        initComponents();
        this.setLocationRelativeTo(null);
    } 

    public void pesquisaVeiculo(){
        //Cria as variaveis e seta os valores dos get and set pegados na classe Veiculo
        PesquisaVeiculo pesquisa = new PesquisaVeiculo(this,true);
        pesquisa.setVisible(true);

        //Cria as variaveis
        Long id = pesquisa.getId_veiculo();
        String modelo = pesquisa.getModelo_veiculo();
        String cor = pesquisa.getCor_veiculo();
        int ano = pesquisa.getAno_veiculo();
        String placa = pesquisa.getPlaca_veiculo();
        String estado = pesquisa.getEstado_veiculo();
        String marca = pesquisa.getMarca_veiculo();
        String observacoe = pesquisa.getObservacoes_veiculo();
        Double valorMin = pesquisa.getValor_minimo_veiculo();
        Double valorMed = pesquisa.getValor_medio_veiculo();
        Double valorMax = pesquisa.getValor_maximo_veiculo();
        int quantidade = pesquisa.getQuantidade_veiculo();
        String tipo = pesquisa.getTipo_veiculo();

        //Seta os valores nos campos
        jTextFieldIdVeiculo.setText(String.valueOf(id));
        jTextFieldModelo.setText(modelo);
        jTextFieldCor.setText(cor);
        jTextFieldAno.setText(String.valueOf(ano));
        jFormattedTextFieldPlaca.setText(placa);
        jTextFieldEstado.setText(estado);
        jComboBoxMarca.setSelectedItem(marca);
        jTextFieldObservacoes.setText(observacoe);
        jFormattedTextFieldValorMin.setText(String.format("%.3f",(valorMin)));
        jFormattedTextFieldValorMed.setText(String.format("%.3f", (valorMed)));
        jFormattedTextFieldValorMax.setText(String.format("%.3f", (valorMax)));
        jTextFieldQuantidade.setText(String.valueOf(quantidade));
        jComboBoxTipo.setSelectedItem(tipo);
    }
}

jDialog = Vehicle Search

    public class PesquisaVeiculo extends javax.swing.JDialog {

    private Long id_veiculo;
    private String modelo_veiculo;
    private String cor_veiculo;
    private int ano_veiculo;
    private String placa_veiculo;
    private String estado_veiculo;
    private String marca_veiculo;
    private String observacoes_veiculo;
    private double valor_minimo_veiculo;
    private double valor_medio_veiculo;
    private double valor_maximo_veiculo;
    private int quantidade_veiculo;
    private String tipo_veiculo;

    //GETTER AND SETTER
    public String getTipo_veiculo() {
        return tipo_veiculo;
    }

    public void setTipo_veiculo(String tipo_veiculo) {    
        this.tipo_veiculo = tipo_veiculo;
    }

    public Long getId_veiculo() {
        return id_veiculo;
    }

    public void setId_veiculo(Long id_veiculo) {
        this.id_veiculo = id_veiculo;
    }

    public String getModelo_veiculo() {
        return modelo_veiculo;
    }

    public void setModelo_veiculo(String modelo_veiculo) {
        this.modelo_veiculo = modelo_veiculo;
    }

    public String getCor_veiculo() {
        return cor_veiculo;
    }

    public void setCor_veiculo(String cor_veiculo) {
        this.cor_veiculo = cor_veiculo;
    }

    public int getAno_veiculo() {
        return ano_veiculo;
    }

    public void setAno_veiculo(int ano_veiculo) {
        this.ano_veiculo = ano_veiculo;
    }

    public String getPlaca_veiculo() {
        return placa_veiculo;
    }

    public void setPlaca_veiculo(String placa_veiculo) {
        this.placa_veiculo = placa_veiculo;
    }

    public String getEstado_veiculo() {
        return estado_veiculo;
    }

    public void setEstado_veiculo(String estado_veiculo) {
        this.estado_veiculo = estado_veiculo;
    }

    public String getMarca_veiculo() {
        return marca_veiculo;
    }

    public void setMarca_veiculo(String marca_veiculo) {
        this.marca_veiculo = marca_veiculo;
    }

    public String getObservacoes_veiculo() {
        return observacoes_veiculo;
    }

    public void setObservacoes_veiculo(String observacao_veiculo) {
        this.observacoes_veiculo = observacao_veiculo;
    }

    public double getValor_minimo_veiculo() {
        return valor_minimo_veiculo;
    }

    public void setValor_minimo_veiculo(double valor_minimo_veiculo) {
        this.valor_minimo_veiculo = valor_minimo_veiculo;
    }

    public double getValor_medio_veiculo() {
        return valor_medio_veiculo;
    }

    public void setValor_medio_veiculo(double valor_medio_veiculo) {
        this.valor_medio_veiculo = valor_medio_veiculo;
    }

    public double getValor_maximo_veiculo() {
        return valor_maximo_veiculo;
    }

    public void setValor_maximo_veiculo(double valor_maximo_veiculo) {
        this.valor_maximo_veiculo = valor_maximo_veiculo;
    }

    public int getQuantidade_veiculo() {
        return quantidade_veiculo;
    }

    public void setQuantidade_veiculo(int quantidade_veiculo) {
        this.quantidade_veiculo = quantidade_veiculo;
    }

    //--------------------------------------------------------------------------------------------------------------------
    //Metodos para pesquisa


    DefaultTableModel tmVeiculo = new DefaultTableModel(null, new String[]{"Id", "Modelo", "Cor", "Ano", "Placna","Estado" , "Marca",
        "Obeservações","Valor min.","Valor med.","Valor max.", "Quantidade", "Tipo"});//Colunas do JTablePesquisaVeiculo
    List<Veiculo> veiculo;
    ListSelectionModel lsVeiculo;

    //Construtor
    public PesquisaVeiculo(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        this.setLocationRelativeTo(null);
    }

    //Metodo para mostrar pesquisa no JTable
    public void mostraPesquisa(List<Veiculo> veiculo) {
        while(tmVeiculo.getRowCount()>0){
            tmVeiculo.removeRow(0);
        }
        if (veiculo.size() == 0) {
            JOptionPane.showMessageDialog(null, "Nenhum veiculo cadastrado!");
        } else {
            String[] linhaVeiculo = new String[]{null, null, null, null, null, null, null, null, null, null, null, null, null};

            for (int i = 0; i < veiculo.size(); i++) {
                tmVeiculo.addRow(linhaVeiculo);

                tmVeiculo.setValueAt(veiculo.get(i).getId_veiculo(), i, 0);
                tmVeiculo.setValueAt(veiculo.get(i).getModelo_veiculo(), i, 1);
                tmVeiculo.setValueAt(veiculo.get(i).getCor_veiculo(), i, 2);
                tmVeiculo.setValueAt(veiculo.get(i).getAno_veiculo(), i, 3);
                tmVeiculo.setValueAt(veiculo.get(i).getPlaca_veiculo(), i, 4);
                tmVeiculo.setValueAt(veiculo.get(i).getEstado_veiculo(), i, 5);
                tmVeiculo.setValueAt(veiculo.get(i).getMarca_veiculo(), i, 6);
                tmVeiculo.setValueAt(veiculo.get(i).getObservacoes_veiculo(), i, 7);
                tmVeiculo.setValueAt(veiculo.get(i).getValor_minimo_veiculo(), i, 8);
                tmVeiculo.setValueAt(veiculo.get(i).getValor_medio_veiculo(), i, 9);
                tmVeiculo.setValueAt(veiculo.get(i).getValor_maximo_veiculo(), i, 10);
                tmVeiculo.setValueAt(veiculo.get(i).getQuantidade_veiculo(), i, 11);
                tmVeiculo.setValueAt(veiculo.get(i).getTipo_veiculo(), i, 12);                
            }
        }
    }

    //Campo de pesquisa
    public void campoPesquisa() {
        try {
            VeiculoDao dao = new VeiculoDao();
            veiculo = dao.getListaVeiculo("%" + jTextFieldPesquisar.getText() + "%");
            mostraPesquisa(veiculo);
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao pesquisar! = " + ex);
        }
    }

    //Seta os valores nos get and set da classe Veiculo
    public void setarDados() {
        int linhaselecionada = jTablePesquisarVeiculo.getSelectedRow();

        if (linhaselecionada!=-1) {

                id_veiculo = Long.valueOf(jTablePesquisarVeiculo.getValueAt(linhaselecionada, 0).toString());
                modelo_veiculo = jTablePesquisarVeiculo.getValueAt(linhaselecionada, 1).toString();
                cor_veiculo = jTablePesquisarVeiculo.getValueAt(linhaselecionada, 2).toString();
                ano_veiculo = Integer.valueOf(jTablePesquisarVeiculo.getValueAt(linhaselecionada, 3).toString());
                placa_veiculo = jTablePesquisarVeiculo.getValueAt(linhaselecionada, 4).toString();
                estado_veiculo = jTablePesquisarVeiculo.getValueAt(linhaselecionada, 5).toString();
                marca_veiculo = jTablePesquisarVeiculo.getValueAt(linhaselecionada, 6).toString();
                observacoes_veiculo = jTablePesquisarVeiculo.getValueAt(linhaselecionada, 7).toString();
                valor_minimo_veiculo = Double.valueOf(jTablePesquisarVeiculo.getValueAt(linhaselecionada, 8).toString());
                valor_medio_veiculo = Double.valueOf(jTablePesquisarVeiculo.getValueAt(linhaselecionada, 9).toString());
                valor_maximo_veiculo = Double.valueOf(jTablePesquisarVeiculo.getValueAt(linhaselecionada, 10).toString());
                quantidade_veiculo = Integer.valueOf(jTablePesquisarVeiculo.getValueAt(linhaselecionada, 11).toString());        
                tipo_veiculo = jTablePesquisarVeiculo.getValueAt(linhaselecionada, 12).toString();                

                dispose();

            } else {
            JOptionPane.showMessageDialog(rootPane, "Nenhum veiculo selecionado!");
            }
    }   

}

Control class = Vehicle

    public class VeiculoDao {
    private Connection conexao;//Cria metodo de conexao

    //Contrutor
    public VeiculoDao() throws SQLException{
        this.conexao = ConexaoBD.getConexao();  
    }

    public List<Veiculo> getListaVeiculo(String nome) throws SQLException{
        //Meotodo para pesquisa veiculos
        String sql = "select * from veiculo where modelo_veiculo like ?";

            PreparedStatement stmt = this.conexao.prepareStatement(sql);
            stmt.setString(1, nome);
            ResultSet rs = stmt.executeQuery();
            List<Veiculo> listaVeiculo = new ArrayList<Veiculo>();

            while(rs.next()){
                Veiculo veiculo = new Veiculo();

                veiculo.setId_veiculo(Long.valueOf(rs.getString("id_veiculo")));
                veiculo.setModelo_veiculo(rs.getString("modelo_veiculo"));
                veiculo.setCor_veiculo(rs.getString("cor_veiculo"));
                veiculo.setAno_veiculo(rs.getInt("ano_veiculo"));
                veiculo.setPlaca_veiculo(rs.getString("placa_veiculo"));
                veiculo.setEstado_veiculo(rs.getString("estado_veiculo"));
                veiculo.setMarca_veiculo(rs.getString("marca_veiculo"));
                veiculo.setObservacoes_veiculo(rs.getString("observacoes_veiculo"));
                veiculo.setValor_minimo_veiculo(rs.getDouble("valor_minimo_veiculo"));
                veiculo.setValor_medio_veiculo(rs.getDouble("valor_medio_veiculo"));
                veiculo.setValor_maximo_veiculo(rs.getDouble("valor_maximo_veiculo"));
                veiculo.setQuantidade_veiculo(rs.getInt("quantidade_veiculo"));
                veiculo.setTipo_veiculo(rs.getString("tipo_veiculo"));

                listaVeiculo.add(veiculo);     
            }
                rs.close();
                stmt.close();
                return listaVeiculo;       
    }

}

I also have the connection class to the bank, and getters and setters from the vehicle table.

Here are the model screens of the jCombobox template and type

IntheJFrameCadastroVeiculoassoonasthesearchisdonethevaluesreturn,onlythedefaultjComboBox

WhentheDetailsbuttonispresseditclosesthescreenandreturnsthevaluesforthejFrame.

jDialogsearch,withthevaluesenteredatthetimeofregistrationdisplayed,uptothoseofjComboBox.:

How to solve this?

    
asked by anonymous 26.04.2016 / 13:15

1 answer

0

I debugged the code and realized that because I declared a String type of size 15 in the database filled in the blanks with the remainder of the string that had been passed in jComboBox, jComboBox with the desired string and filled in with blanks to the size defined in the database. And the value returned!

    
29.04.2016 / 16:29