diff --git a/src/main/br/ufpr/controllers/Imagens.java b/src/main/br/ufpr/controllers/Imagens.java index ef72f94..0bb4145 100644 --- a/src/main/br/ufpr/controllers/Imagens.java +++ b/src/main/br/ufpr/controllers/Imagens.java @@ -16,6 +16,8 @@ public enum Imagens { EYE_CLOSED("eye_closed.png"), SEARCH("search.png"), DELETE("delete.png"), + EDIT("edit.png"), + ADD("add.png"), DEPOSITO("deposito.png"), SAQUE("saque.png"), REMUNERA("remunera.png"), diff --git a/src/main/br/ufpr/controllers/Sistema.java b/src/main/br/ufpr/controllers/Sistema.java index 1b6e248..f4e7b29 100644 --- a/src/main/br/ufpr/controllers/Sistema.java +++ b/src/main/br/ufpr/controllers/Sistema.java @@ -103,15 +103,15 @@ public static void main(String[] args){ frame.setVisible(true); Endereco endereco1 = new Endereco("Rua A", "Prado Velho", "250", "Curitiba"); - Cliente c1 = new Cliente("Pedro", "Souza", endereco1, "09124024902", "129711280"); + Cliente c1 = new Cliente("Pedro", "Souza", endereco1, "948.312.270-80", "129711280"); cadastrarCliente(c1); Endereco endereco2 = new Endereco("Rua B", "Cajuru", "1134", "Curitiba"); - Cliente c2 = new Cliente("Alisson", "Santos", endereco2, "11754317960", "119264210"); + Cliente c2 = new Cliente("Alisson", "Santos", endereco2, "885.434.710-87", "119264210"); cadastrarCliente(c2); Endereco endereco3 = new Endereco("Rua C", "Jardim Amélia", "65", "Pinhais"); - Cliente c3 = new Cliente("Leonardo", "Salgado", endereco3, "10619416980", "129321481"); + Cliente c3 = new Cliente("Leonardo", "Salgado", endereco3, "632.872.080-71", "129321481"); cadastrarCliente(c3); } diff --git a/src/main/br/ufpr/models/Cliente.java b/src/main/br/ufpr/models/Cliente.java index 4c8774b..9aed550 100644 --- a/src/main/br/ufpr/models/Cliente.java +++ b/src/main/br/ufpr/models/Cliente.java @@ -36,7 +36,59 @@ public Cliente(String nome, String sobrenome, Endereco endereco, String cpf, Str this.cpf = cpf; } - // Os getters e setters para as variáveis de instância estão aqui. + public String getNome() { + return nome; + } + + public void setNome(String nome) { + nome = nome.toUpperCase(); + + if (!validaNome(nome)) { + throw new IllegalArgumentException("Nome inválido"); + } + this.nome = nome; + } + + public String getSobrenome() { + return sobrenome; + } + + public void setSobrenome(String sobrenome) { + sobrenome = sobrenome.toUpperCase(); + if (!validaNome(sobrenome)) { + throw new IllegalArgumentException("Sobrenome inválido"); + } + this.sobrenome = sobrenome; + } + + + public Endereco getEndereco() { + return endereco; + } + + public void setEndereco(Endereco endereco) { + this.endereco = endereco; + } + + public String getCpf() { + return cpf; + } + + public String getRg() { + return rg; + } + + public void setRg(String rg) { + this.rg = rg; + } + + public Conta getConta() { + return conta; + } + + public void setConta(Conta conta) { + this.conta = conta; + } /** * Este método valida o nome do cliente. @@ -62,7 +114,30 @@ private boolean validaCpf(String cpf) { int soma = 0, resto = 0; if(cpf.matches("[0-9]{11}") && !cpf.matches("^(\\d)\\1{10}")){ - // A lógica de validação do CPF está aqui. + for (int i = 0; i < 9; i++) { + soma += Integer.parseInt(cpf.substring(i, i + 1)) * (10 - i); + } + resto = 11 - (soma % 11); + if (resto == 10 || resto == 11) { + resto = 0; + } + if (resto != Integer.parseInt(cpf.substring(9, 10))) { + return false; + } + + soma = 0; + for (int i = 0; i < 10; i++) { + soma += Integer.parseInt(cpf.substring(i, i + 1)) * (11 - i); + } + resto = 11 - (soma % 11); + if (resto == 10 || resto == 11) { + resto = 0; + } + if (resto != Integer.parseInt(cpf.substring(10, 11))) { + return false; + } + + return true; } return false; } diff --git a/src/main/br/ufpr/models/Conta.java b/src/main/br/ufpr/models/Conta.java index 9d585dc..e708d65 100644 --- a/src/main/br/ufpr/models/Conta.java +++ b/src/main/br/ufpr/models/Conta.java @@ -69,7 +69,17 @@ public boolean saca(double valor) { return false; } - // Os getters para as variáveis de instância estão aqui. + public Cliente getDono() { + return this.dono; + } + + public int getNumero() { + return this.numero; + } + + public double getSaldo() { + return this.saldo; + } /** * Este é um método abstrato que deve ser implementado nas subclasses. diff --git a/src/main/br/ufpr/models/ContaCorrente.java b/src/main/br/ufpr/models/ContaCorrente.java index 12031f2..36ded05 100644 --- a/src/main/br/ufpr/models/ContaCorrente.java +++ b/src/main/br/ufpr/models/ContaCorrente.java @@ -38,7 +38,17 @@ public ContaCorrente(Cliente dono, double saldo, double limite) { this.limite = limite; } - // Os getters e setters para as variáveis de instância estão aqui. + public double getLimite() { + return this.limite; + } + + public void setLimite(double limite) { + this.limite = limite; + } + + public double getDepositoInicial() { + return this.depositoInicial; + } /** * Este método saca um valor da conta. diff --git a/src/main/br/ufpr/models/Endereco.java b/src/main/br/ufpr/models/Endereco.java index 475d58a..6633ff3 100644 --- a/src/main/br/ufpr/models/Endereco.java +++ b/src/main/br/ufpr/models/Endereco.java @@ -29,7 +29,21 @@ public Endereco(String logradouro, String bairro, String numeroS, String cidade) this.cidade = cidade.toUpperCase(); } - // Os getters para as variáveis de instância estão aqui. + public String getLogradouro() { + return logradouro; + } + + public String getBairro() { + return bairro; + } + + public int getNumero() { + return numero; + } + + public String getCidade() { + return cidade; + } /** * Este método privado verifica se o número é válido. diff --git a/src/main/br/ufpr/views/ManterCliente.form b/src/main/br/ufpr/views/ManterCliente.form index 8af4184..61deddc 100644 --- a/src/main/br/ufpr/views/ManterCliente.form +++ b/src/main/br/ufpr/views/ManterCliente.form @@ -1,6 +1,6 @@
- + @@ -208,7 +208,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -271,6 +271,15 @@ + + + + + + + + + diff --git a/src/main/br/ufpr/views/ManterCliente.java b/src/main/br/ufpr/views/ManterCliente.java index 55bb0f6..4df6e94 100644 --- a/src/main/br/ufpr/views/ManterCliente.java +++ b/src/main/br/ufpr/views/ManterCliente.java @@ -1,5 +1,6 @@ package main.br.ufpr.views; +import main.br.ufpr.controllers.Imagens; import main.br.ufpr.controllers.Mensagens; import main.br.ufpr.controllers.Sistema; import main.br.ufpr.models.Cliente; @@ -7,6 +8,7 @@ import main.br.ufpr.models.Tela; import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** @@ -29,6 +31,7 @@ public class ManterCliente implements Tela { private JButton inserirButton; private JButton editarButton; private JButton excluirButton; + private JScrollPane scrollPanel; private ManterClienteTableModel tabelaModel = new ManterClienteTableModel(Sistema.getClientes()); @@ -39,6 +42,15 @@ public class ManterCliente implements Tela { public ManterCliente() { tabelaClientes.setModel(tabelaModel); tabelaClientes.setColumnModel(tabelaClientes.getColumnModel()); + + excluirButton.setIcon(Imagens.DELETE.icon()); + editarButton.setIcon(Imagens.EDIT.icon()); + buscarButton.setIcon(Imagens.SEARCH.icon()); + inserirButton.setIcon(Imagens.ADD.icon()); + + scrollPanel.getViewport().setBackground(new Color(5,28,59)); + tabelaClientes.getTableHeader().setBackground(new Color(225,248,255)); + voltarButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { diff --git a/src/main/br/ufpr/views/VincularCliente.java b/src/main/br/ufpr/views/VincularCliente.java index 4df7579..d54c2b6 100644 --- a/src/main/br/ufpr/views/VincularCliente.java +++ b/src/main/br/ufpr/views/VincularCliente.java @@ -9,6 +9,7 @@ import main.br.ufpr.models.Tela; import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Objects; @@ -36,6 +37,7 @@ public class VincularCliente implements Tela { private Cliente clienteSelecionado; private ContaCorrente corrente; private ContaInvestimento investimento; + private JScrollPane scrollPanel; /** * Construtor da classe VincularCliente. * Inicializa os componentes da interface e define os listeners dos botões. @@ -47,6 +49,8 @@ public VincularCliente() { tabela.setModel(tabelaModel); tabela.setColumnModel(tabela.getColumnModel()); + scrollPanel.getViewport().setBackground(new Color(5,28,59)); + tabela.getTableHeader().setBackground(new Color(225,248,255)); voltarButton.addActionListener(new ActionListener() { @Override