Jump to content
Fórum Script Brasil
  • 0

Ajuda em projeto Java


guiialmeiida
 Share

Question

Boa noite, fiz um projeto em java de um cadastro de um "livro caixa" mas ai quando vou editar um cadastro que está na listagem quando clico para salvar depois que terminei de alterar ele não atualiza a listagem automaticamente tenho que fechar o aplicativo e abrir de novo para aparecer a listagem atualizada e depois que edito um cadastro quando vou na listagem os botões de Editar e Excluir não aparecem, poderiam me ajudar? segue o código

public class JFCaixa extends JInternalFrame {
    
    private JTextField jtData;
    private JTextField jtInicial;
    private JTextField jtSaida;
    private JTextField jtEntrada;
    private JTextField jtTotalDiario;
    private JTable tabela;
    private DefaultTableModel modelo = new DefaultTableModel();
    JPanel painelList;
    CaixaDao dados;
    String editar = null;
    
    
    final JPanel painelCad;
    final JPanel painelBotoes;
    private JTextField txPesquisa;
    JComboBox cbTipoPesquisa;
    private Principal telaPrincipal;
    
    public JFCaixa(String titulo, Principal telaPrincipal) {
        
        super(titulo);
        this.setClosable(true);
        setSize(795, 550);
        setVisible(true);
        
        //Criar o painel
        JPanel panel = new JPanel();
        setContentPane(panel);
        panel.setLayout(null);
        
        
        //Criar o painel interno
        JTabbedPane tabPane= new JTabbedPane();
        tabPane.setBounds(0, 0, 795, 550);
        panel.add(tabPane);
        
        //Painel Cadastro
        painelCad = new JPanel();
        painelCad.setName("Cadastro");
        tabPane.add(painelCad);
        painelCad.setLayout(null);
        
        JLabel lblNewLabel = new JLabel("Caixa");
        lblNewLabel.setBounds(311, 11, 158, 14);
        lblNewLabel.setFont(new Font("Arial", Font.BOLD, 14));
        painelCad.add(lblNewLabel);
        
        JLabel lblData = new JLabel("Data:");
        lblData.setBounds(89, 47, 46, 14);
        lblData.setFont(new Font("Times New Roman", Font.PLAIN, 18));
        painelCad.add(lblData);
        
        JLabel lblInicial = new JLabel("     Inicial:");
        lblInicial.setFont(new Font("Times New Roman", Font.PLAIN, 18));
        lblInicial.setBounds(57, 83, 89, 14);
        painelCad.add(lblInicial);
        
        JLabel lblSaida = new JLabel("      Saida:");
        lblSaida.setFont(new Font("Times New Roman", Font.PLAIN, 18));
        lblSaida.setBounds(57, 117, 89, 14);
        painelCad.add(lblSaida);
        
        JLabel lblEntrada = new JLabel("Entrada:");
        lblEntrada.setFont(new Font("Times New Roman", Font.PLAIN, 18));
        lblEntrada.setBounds(71, 154, 104, 14);
        painelCad.add(lblEntrada);
        
        JLabel lblTotalDiario = new JLabel("  Total Diario:");
        lblTotalDiario.setFont(new Font("Times New Roman", Font.PLAIN, 18));
        lblTotalDiario.setBounds(30, 189, 105, 13);
        painelCad.add(lblTotalDiario);
        
        jtData = new JTextField();
        jtData.setBounds(134, 46, 370, 20);
        painelCad.add(jtData);
        jtData.setColumns(10);
        
        jtInicial = new JTextField();
        jtInicial.setBounds(134, 82, 370, 20);
        painelCad.add(jtInicial);
        jtInicial.setColumns(10);
        
        jtSaida = new JTextField();
        jtSaida.setBounds(134, 116, 370, 20);
        painelCad.add(jtSaida);
        jtSaida.setColumns(10);
        
        jtEntrada = new JTextField();
        jtEntrada.setBounds(134, 153, 370, 20);
        painelCad.add(jtEntrada);
        jtEntrada.setColumns(10);
        
        jtTotalDiario = new JTextField();
        jtTotalDiario.setBounds(134, 187, 370, 20);
        painelCad.add(jtTotalDiario);
        jtTotalDiario.setColumns(10);
        
        JButton btnSalvar = new JButton("Salvar");
        btnSalvar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                //Chamar o método salvar
                salvar();
            
                
                
            }
        });
        btnSalvar.setBounds(114, 242, 89, 23);
        painelCad.add(btnSalvar);
        
        JButton btnLimpar = new JButton("Limpar");
        btnLimpar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                //Chamar método de limpar
                limparDados();
                
                
            }

            /*
             * Método que limpa as informações
             */
            public void limparDados(){
                jtData.setText("");
                jtInicial.setText("");
                jtSaida.setText("");
                jtEntrada.setText("");
                jtTotalDiario.setText("");
                
            
            }
        });
        btnLimpar.setBounds(311, 242, 89, 23);
        painelCad.add(btnLimpar);
        
        JPanel panel_2 = new JPanel();
        panel_2.setBounds(0, 343, 790, 156);
        painelCad.add(panel_2);
        panel_2.setLayout(null);
        
        JLabel label = new JLabel("");
        label.setIcon(new ImageIcon(JFCaixa.class.getResource("/img/pao.jpg")));
        label.setBounds(0, 11, 780, 145);
        panel_2.add(label);
        
        dadosTabela();
        
        //Painel Listagem
         painelList = new JPanel();
         painelList.setName("Listagem");
         tabPane.add(painelList);
         painelList.setLayout(null);
         
    
         
         JScrollPane barraRolagem = new JScrollPane(tabela);
         barraRolagem.setBounds(97, 42, 521, 304);
         painelList.add(barraRolagem);
         
         painelBotoes = new JPanel();
         painelBotoes.setBackground(Color.GRAY);
         painelBotoes.setBounds(158, 344, 521, 42);
         painelList.add(painelBotoes);
         painelBotoes.setLayout(null);
         
         JButton btnExcluir = new JButton("Excluir");
            btnExcluir.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    int linhaSelecionada = -1;
                    linhaSelecionada = tabela.getSelectedRow();
                    
                    if(linhaSelecionada >= 0){
                        String sequenciaCaixa = (String) tabela.getValueAt(linhaSelecionada, 0);
                        
                        //Alerta para confirmar a exclusao
                        int indexNOk = JOptionPane.YES_NO_OPTION;
                        int mensagem = JOptionPane.showConfirmDialog(null, "Você tem certeza que deseja deletar esse usuário?", "Aviso", indexNOk);
                        
                        if(mensagem == JOptionPane.YES_OPTION){
                            
                            System.out.println("Iniciando exclusão");
                            
                            //Cria o objeto deletar
                            model.Caixa deletar = new model.Caixa();
                            //chama o metodo remover
                            deletar.remover(sequenciaCaixa);
                            
                            popularTabela(modelo, null, -1);
                            
                            
                        }
        
                    }else{
                        JOptionPane.showMessageDialog(null, "É necessário selecionar uma linha!");
                    }
                    
                    
                }
         });
         btnExcluir.setBounds(275, 11, 120, 23);
         painelBotoes.add(btnExcluir);
         
         JButton btnEditar = new JButton("Editar");
            btnEditar.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    
                    //mostrar o painel de cadastro
                    painelCad.setVisible(true);
                    
                    painelBotoes.setVisible(false);
                    
                    
                    int linhaSelecionada = -1;
                    linhaSelecionada = tabela.getSelectedRow();
                    
                    if(linhaSelecionada >= 0){
                        String sequenciaCaixa =   (String) tabela.getValueAt(linhaSelecionada, 0);
                        
                        buscarCaixa(sequenciaCaixa);
                        
                        
        
                    }else{
                        JOptionPane.showMessageDialog(null, "É necessário selecionar uma linha!");
                    }
                    
                    
                }
         });
         btnEditar.setBounds(145, 11, 120, 23);
         painelBotoes.add(btnEditar);
         
         JPanel panel_1 = new JPanel();
         panel_1.setBackground(SystemColor.scrollbar);
         panel_1.setBounds(158, 11, 521, 53);
         painelList.add(panel_1);
         panel_1.setLayout(null);
         
         JLabel lblFiltrarPor = new JLabel("Filtrar por:");
         lblFiltrarPor.setBounds(10, 15, 74, 14);
         panel_1.add(lblFiltrarPor);
         
         cbTipoPesquisa = new JComboBox();
         cbTipoPesquisa.setModel(new DefaultComboBoxModel(new String[] {"Data"}));
         cbTipoPesquisa.setBounds(79, 12, 89, 20);
         panel_1.add(cbTipoPesquisa);
         
         txPesquisa = new JTextField();
         txPesquisa.setBounds(178, 12, 188, 20);
         panel_1.add(txPesquisa);
         txPesquisa.setColumns(10);
         
         JButton btnPesquisar = new JButton("Pesquisar");
            btnPesquisar.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    pesquisar();
                    
                }
        
         });
         btnPesquisar.setBounds(376, 11, 107, 23);
         panel_1.add(btnPesquisar);
        
        
        telaPrincipal = telaPrincipal;
        telaPrincipal.jdPane.add(this);
        

    

    }


    


    protected void pesquisar() {
        String valorPesquisa = txPesquisa.getText();
        int tipoPesquisa = cbTipoPesquisa.getSelectedIndex();
        
        popularTabela(modelo, valorPesquisa, tipoPesquisa);
        
        
    }

 

 

    protected void buscarCaixa(String sequenciaCaixa) {
        editar = sequenciaCaixa;

        model.Caixa caixa = new model.Caixa();
        dados =  caixa.getUsuariosSequencia(sequenciaCaixa);
        jtData.setText(dados.getData());
        jtInicial.setText(dados.getInicial());
        jtSaida.setText(dados.getSaida());
        jtEntrada.setText(dados.getEntrada());
        jtTotalDiario.setText(dados.getTotaldiario());
        
    }

 

 

    private void dadosTabela(){
        tabela = new JTable(modelo);
        //Criar coluna da tabela
        modelo.addColumn("Data"); 
        modelo.addColumn("Inicial");
        modelo.addColumn("Saida");
        modelo.addColumn("Entrada");
        modelo.addColumn("Total Diario");
        
        //definir posição da coluna
        tabela.getColumnModel().getColumn(0).setPreferredWidth(20);
        tabela.getColumnModel().getColumn(1).setPreferredWidth(80);
        tabela.getColumnModel().getColumn(2).setPreferredWidth(10);
        tabela.getColumnModel().getColumn(3).setPreferredWidth(50);
        tabela.getColumnModel().getColumn(4).setPreferredWidth(50);
        
    
        popularTabela(modelo, null, -1);
    }

 

 

    public static void popularTabela(DefaultTableModel modelo, String valorPesquisa, int i){
        //Seta a informação para mostra a coluna na primeira linha
        modelo.setNumRows(0);
        model.Caixa usuarios = new model.Caixa();
        
        for(CaixaDao user : usuarios.getData(valorPesquisa, i)){
            modelo.addRow(new Object[]{
                    user.getData(), 
                    user.getInicial(),
                    user.getSaida(),
                    user.getEntrada(),
                    user.getTotaldiario(),
                    
            });
        }
    
    }

 

 

    protected void buscarUsuario(String string) {
        //editar = string;
        
        
        model.Caixa user = new model.Caixa();
        dados =  user.getUsuariosSequencia(string);
        jtData.setText(dados.getData());
        jtInicial.setText(dados.getInicial());
        jtSaida.setText(dados.getSaida());
        jtEntrada.setText(dados.getEntrada());
        jtTotalDiario.setText(dados.getTotaldiario());
        
    }


    protected void salvar() {
        String data = jtData.getText();
        String inicial = jtInicial.getText();
        String saida = jtSaida.getText();
        String entrada = jtEntrada.getText();
        String totaldiario = jtTotalDiario.getText();
        
        
        Caixa caixa  = new Caixa();
        
        Integer validar;
        

        
        validar = caixa.validaInsert(data, inicial,saida ,entrada, totaldiario, editar);
        
    }


    private String moverImagem(String img) {
        String caminhoDestino = "Z:\\Guilherme\\Linguagem de Programação - Java\\Sistema\\imgProdutos\\";
        String extensao = ".jpg";
        String arquivo_destino = null;
        
        String  retorno = null;
        
        try{
            //Gerar nome automatico para a imagem
            Random gerador = new Random();
            int nomeImagem = gerador.nextInt();
            arquivo_destino = caminhoDestino+nomeImagem+extensao;
            
            //Definição do retorno
            retorno = nomeImagem+extensao;
            
            //Capturar informações de origem
            FileInputStream origem = new FileInputStream(img);
            
            //Captura as informações de destino
            FileOutputStream destino = new FileOutputStream(arquivo_destino);
            
            //Canais de entrada e saída
            FileChannel fcOrigem = origem.getChannel(); 
            FileChannel fcDestino = destino.getChannel();
            
            //Copiar arquivos
            fcOrigem.transferTo(0, fcOrigem.size(), fcDestino);
            
            origem.close();
            destino.close();
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "Ocorreu um erro ao fazer o upload da imagem!");
        }
        
        return retorno;
    }
}

 

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

 

popularTabela(DefaultTableModel modelo, String valorPesquisa, int i);

Coloca esse método dentro do método que você está chamando ao salvar

Exemplo;

public void salvarDados(){

      popularTabela(DefaultTableModel modelo, String valorPesquisa, int i);

}

assim quando você salvar ele irá atualizar sua tabela. Isso é só uma questão de lógica.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...