Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda em projeto Java


guiialmeiida

Pergunta

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 para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...