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
//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!"); }
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();
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());
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();
Pergunta
guiialmeiida
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
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.