Advertisement
hercioneto

Projeto Agenda - Finalizado

Dec 13th, 2023
708
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 14.36 KB | None | 0 0
  1. import java.awt.Dimension;
  2. import java.awt.GridBagConstraints;
  3. import java.awt.GridBagLayout;
  4. import java.awt.GridLayout;
  5. import java.awt.Insets;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.util.ArrayList;
  9. import javax.swing.BorderFactory;
  10. import javax.swing.JButton;
  11. import javax.swing.JFrame;
  12. import javax.swing.JLabel;
  13. import javax.swing.JPanel;
  14. import javax.swing.JScrollPane;
  15. import javax.swing.JTable;
  16. import javax.swing.JTextField;
  17. import javax.swing.table.DefaultTableModel;
  18. import javax.swing.table.JTableHeader;
  19.  
  20. /**
  21.  *
  22.  * @author Professor
  23.  */
  24. public class Agenda {
  25.  
  26.     static void janelaListar() {
  27.         JFrame j2 = new JFrame("Listar agenda");
  28.         j2.setSize(500, 500);
  29.         j2.setLocationRelativeTo(j2);
  30.         j2.setResizable(false);
  31.         JPanel p = new JPanel();
  32.         GridBagLayout layout = new GridBagLayout();
  33.  
  34.         p.setLayout(layout);
  35.  
  36.         p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  37.         p.setPreferredSize(new Dimension(450, 400));
  38.  
  39.         JButton jbtEditar = new JButton("Editar contato");
  40.         JButton jbtExcluir = new JButton("Excluir contato");
  41.  
  42.         GridBagConstraints gbc = new GridBagConstraints();
  43.         gbc.gridx = 0;
  44.         gbc.gridy = 0;
  45.         p.add(jbtEditar, gbc);
  46.         GridBagConstraints gbc1 = new GridBagConstraints();
  47.         gbc1.gridx = 1;
  48.         gbc1.gridy = 0;
  49.         gbc1.gridwidth = GridBagConstraints.REMAINDER;
  50.  
  51.         p.add(jbtExcluir, gbc1);
  52.  
  53.         String[] colunas = {"Código",
  54.             "Nome",
  55.             "Telefone",
  56.             "E-mail"};
  57.         JTable jtbLista = new JTable(null, colunas);
  58.  
  59.         DefaultTableModel modelo = (new DefaultTableModel(null, colunas) {
  60.             @Override
  61.             public boolean isCellEditable(int row, int column) {
  62.                 return false;
  63.             }
  64.         });
  65.  
  66.         jtbLista.setModel(modelo);
  67.         Contatos c = new Contatos();
  68.  
  69.         ArrayList<Contatos> dados = c.listar();
  70.         for (Contatos cn : dados) {
  71.             Object[] objs = {cn.getIdContato(), cn.getNome(), cn.getTelefone(), cn.getEmail()};
  72.  
  73.             modelo.addRow(objs);
  74.         }
  75.  
  76.         JTableHeader header = jtbLista.getTableHeader();
  77.         header.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 0));
  78.         header.setPreferredSize(new Dimension(400, 30));
  79.  
  80.         GridBagConstraints gbc2 = new GridBagConstraints();
  81.         gbc2.insets = new Insets(3, 3, 3, 3);
  82.         gbc2.gridx = 0;
  83.         gbc2.gridy = 1;
  84.         gbc2.fill = GridBagConstraints.VERTICAL;
  85.         p.add(header, gbc2);
  86.  
  87.         GridBagConstraints gbc3 = new GridBagConstraints();
  88.  
  89.         gbc3.gridx = 0;
  90.         gbc3.gridy = 2;
  91.         gbc3.weightx = 1.0;
  92.         gbc3.weighty = 1.0;
  93.         gbc3.gridwidth = GridBagConstraints.REMAINDER;
  94.         gbc3.fill = GridBagConstraints.BOTH;
  95.  
  96.         JScrollPane js = new JScrollPane(jtbLista);
  97.         js.setPreferredSize(new Dimension(10, 400));
  98.  
  99.         p.add(js, gbc3);
  100.  
  101.         j2.add(p);
  102.         j2.pack();
  103.         j2.setVisible(true);
  104.  
  105.         jbtEditar.addActionListener(new ActionListener() {
  106.             public void actionPerformed(ActionEvent ae) {
  107.                 int column = 0;
  108.                 int row = jtbLista.getSelectedRow();
  109.                 String idContato = jtbLista.getModel().getValueAt(row, column).toString();
  110.                 Contatos c = new Contatos();
  111.                 c.listarUnico(Integer.parseInt(idContato));
  112.                 janelaEditar(c);
  113.                 j2.setVisible(false);
  114.                
  115.             }
  116.         });
  117.        
  118.        
  119.         jbtExcluir.addActionListener(new ActionListener() {
  120.             public void actionPerformed(ActionEvent ae) {
  121.                 int column = 0;
  122.                 int row = jtbLista.getSelectedRow();
  123.                 String idContato = jtbLista.getModel().getValueAt(row, column).toString();
  124.                 Contatos c = new Contatos();
  125.                 c.listarUnico(Integer.parseInt(idContato));
  126.                 janelaExcluir(c);
  127.                 j2.setVisible(false);
  128.                
  129.             }
  130.         });
  131.        
  132.  
  133.     }
  134.  
  135.     static void janelaInserir() {
  136.         JFrame j = new JFrame("Inserir dados");
  137.         j.setSize(400, 300);
  138.         j.setLocationRelativeTo(j);
  139.  
  140.         j.setResizable(false);
  141.  
  142.         JPanel p = new JPanel();
  143.         p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  144.  
  145.         GridLayout layout = new GridLayout(0, 2, 30, 30);
  146.         p.setLayout(layout);
  147.  
  148.         JLabel lbNome = new JLabel("Nome:");
  149.         lbNome.setHorizontalAlignment(JLabel.LEFT);
  150.         lbNome.setHorizontalTextPosition(JLabel.LEFT);
  151.         p.add(lbNome);
  152.  
  153.         JTextField jtxNome = new JTextField();
  154.         jtxNome.setPreferredSize(new Dimension(50, 24));
  155.         p.add(jtxNome);
  156.  
  157.         JLabel lbTelefone = new JLabel("Telefone:");
  158.         lbTelefone.setHorizontalAlignment(JLabel.LEFT);
  159.         lbTelefone.setHorizontalTextPosition(JLabel.LEFT);
  160.         p.add(lbTelefone);
  161.  
  162.         JTextField jtxTelefone = new JTextField();
  163.         jtxTelefone.setPreferredSize(new Dimension(50, 24));
  164.         p.add(jtxTelefone);
  165.  
  166.         JLabel lbEmail = new JLabel("E-mail:");
  167.         lbEmail.setHorizontalAlignment(JLabel.LEFT);
  168.         lbEmail.setHorizontalTextPosition(JLabel.LEFT);
  169.         p.add(lbEmail);
  170.  
  171.         JTextField jtxEmail = new JTextField();
  172.         jtxEmail.setPreferredSize(new Dimension(50, 24));
  173.         p.add(jtxEmail);
  174.  
  175.         JButton jbtInserir = new JButton("Inserir contato");
  176.  
  177.         jbtInserir.addActionListener(new ActionListener() {
  178.             public void actionPerformed(ActionEvent ae) {
  179.  
  180.                 try {
  181.  
  182.                     String nome = jtxNome.getText();
  183.                     String telefone = jtxTelefone.getText();
  184.                     String email = jtxEmail.getText();
  185.  
  186.                     Contatos c = new Contatos();
  187.  
  188.                     c.setEmail(email);
  189.                     c.setNome(nome);
  190.                     c.setTelefone(telefone);
  191.                     c.inserir();
  192.  
  193.                     j.dispose();
  194.                    
  195.  
  196.                 } catch (Exception e) {
  197.                     // Logger.getLogger(Pedido.class.getName()).log(Level.SEVERE, null, e);
  198.                 }
  199.  
  200.             }
  201.         });
  202.  
  203.         JButton jBtLimpar = new JButton("Limpar");
  204.  
  205.         jBtLimpar.addActionListener(new ActionListener() {
  206.             public void actionPerformed(ActionEvent ae) {
  207.  
  208.                 jtxNome.setText("");
  209.                 jtxTelefone.setText("");
  210.                 jtxEmail.setText("");
  211.  
  212.             }
  213.         });
  214.        
  215.        
  216.  
  217.         jBtLimpar.setBounds(50, 100, 95, 30);
  218.         jbtInserir.setBounds(50, 100, 95, 30);
  219.  
  220.         p.add(jbtInserir);
  221.         p.add(jBtLimpar);
  222.  
  223.         p.setPreferredSize(new Dimension(400, 300));
  224.         p.setMaximumSize(new Dimension(400, 300));
  225.  
  226.         j.add(p);
  227.         j.pack();
  228.  
  229.         j.setVisible(true);
  230.     }
  231.    
  232.     static void janelaEditar(Contatos c) {
  233.         JFrame j = new JFrame("Editar dados");
  234.         j.setSize(400, 300);
  235.         j.setLocationRelativeTo(j);
  236.  
  237.         j.setResizable(false);
  238.  
  239.         JPanel p = new JPanel();
  240.         p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  241.  
  242.         GridLayout layout = new GridLayout(0, 2, 30, 30);
  243.         p.setLayout(layout);
  244.        
  245.         JLabel lbCodigo = new JLabel("Codigo:");
  246.         lbCodigo.setHorizontalAlignment(JLabel.LEFT);
  247.         lbCodigo.setHorizontalTextPosition(JLabel.LEFT);
  248.         p.add(lbCodigo);
  249.        
  250.         int codigo = c.getIdContato();
  251.        
  252.         JLabel lbCodigo2 = new JLabel(String.valueOf(codigo));
  253.         lbCodigo2.setHorizontalAlignment(JLabel.LEFT);
  254.         lbCodigo2.setHorizontalTextPosition(JLabel.LEFT);
  255.         p.add(lbCodigo2);
  256.  
  257.         JLabel lbNome = new JLabel("Nome:");
  258.         lbNome.setHorizontalAlignment(JLabel.LEFT);
  259.         lbNome.setHorizontalTextPosition(JLabel.LEFT);
  260.         p.add(lbNome);
  261.  
  262.         JTextField jtxNome = new JTextField(c.getNome());
  263.         jtxNome.setPreferredSize(new Dimension(50, 24));
  264.         p.add(jtxNome);
  265.  
  266.         JLabel lbTelefone = new JLabel("Telefone:");
  267.         lbTelefone.setHorizontalAlignment(JLabel.LEFT);
  268.         lbTelefone.setHorizontalTextPosition(JLabel.LEFT);
  269.         p.add(lbTelefone);
  270.  
  271.         JTextField jtxTelefone = new JTextField(c.getTelefone());
  272.         jtxTelefone.setPreferredSize(new Dimension(50, 24));
  273.         p.add(jtxTelefone);
  274.  
  275.         JLabel lbEmail = new JLabel("E-mail:");
  276.         lbEmail.setHorizontalAlignment(JLabel.LEFT);
  277.         lbEmail.setHorizontalTextPosition(JLabel.LEFT);
  278.         p.add(lbEmail);
  279.  
  280.         JTextField jtxEmail = new JTextField(c.getEmail());
  281.         jtxEmail.setPreferredSize(new Dimension(50, 24));
  282.         p.add(jtxEmail);
  283.  
  284.         JButton jbtInserir = new JButton("Editar contato");
  285.  
  286.         jbtInserir.addActionListener(new ActionListener() {
  287.             public void actionPerformed(ActionEvent ae) {
  288.  
  289.                 try {
  290.  
  291.                     String nome = jtxNome.getText();
  292.                     String telefone = jtxTelefone.getText();
  293.                     String email = jtxEmail.getText();
  294.  
  295.                     c.setIdContato(Integer.parseInt(lbCodigo2.getText()));
  296.                     c.setEmail(email);
  297.                     c.setNome(nome);
  298.                     c.setTelefone(telefone);
  299.                     c.alterar();
  300.  
  301.                     j.dispose();
  302.  
  303.                 } catch (Exception e) {
  304.                     // Logger.getLogger(Pedido.class.getName()).log(Level.SEVERE, null, e);
  305.                 }
  306.  
  307.             }
  308.         });
  309.  
  310.         JButton jBtLimpar = new JButton("Limpar");
  311.  
  312.         jBtLimpar.addActionListener(new ActionListener() {
  313.             public void actionPerformed(ActionEvent ae) {
  314.  
  315.                 jtxNome.setText(c.getNome());
  316.                 jtxTelefone.setText(c.getTelefone());
  317.                 jtxEmail.setText(c.getEmail());
  318.  
  319.             }
  320.         });
  321.  
  322.         jBtLimpar.setBounds(50, 100, 95, 30);
  323.         jbtInserir.setBounds(50, 100, 95, 30);
  324.  
  325.         p.add(jbtInserir);
  326.         p.add(jBtLimpar);
  327.  
  328.         p.setPreferredSize(new Dimension(400, 300));
  329.         p.setMaximumSize(new Dimension(400, 300));
  330.  
  331.         j.add(p);
  332.         j.pack();
  333.  
  334.         j.setVisible(true);
  335.     }
  336.    
  337.     static void janelaExcluir(Contatos c) {
  338.         JFrame j = new JFrame("Excluir dados");
  339.         j.setSize(400, 300);
  340.         j.setLocationRelativeTo(j);
  341.  
  342.         j.setResizable(false);
  343.  
  344.         JPanel p = new JPanel();
  345.         p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  346.  
  347.         GridLayout layout = new GridLayout(0, 2, 30, 30);
  348.         p.setLayout(layout);
  349.        
  350.         JLabel lbCodigo = new JLabel("Codigo:");
  351.         lbCodigo.setHorizontalAlignment(JLabel.LEFT);
  352.         lbCodigo.setHorizontalTextPosition(JLabel.LEFT);
  353.         p.add(lbCodigo);
  354.        
  355.         int codigo = c.getIdContato();
  356.        
  357.         JLabel lbCodigo2 = new JLabel(String.valueOf(codigo));
  358.         lbCodigo2.setHorizontalAlignment(JLabel.LEFT);
  359.         lbCodigo2.setHorizontalTextPosition(JLabel.LEFT);
  360.         p.add(lbCodigo2);
  361.  
  362.         JLabel lbNome = new JLabel("Nome:");
  363.         lbNome.setHorizontalAlignment(JLabel.LEFT);
  364.         lbNome.setHorizontalTextPosition(JLabel.LEFT);
  365.         p.add(lbNome);
  366.  
  367.         JTextField jtxNome = new JTextField(c.getNome());
  368.         jtxNome.setPreferredSize(new Dimension(50, 24));
  369.         jtxNome.setEditable(false);
  370.         p.add(jtxNome);
  371.  
  372.         JLabel lbTelefone = new JLabel("Telefone:");
  373.         lbTelefone.setHorizontalAlignment(JLabel.LEFT);
  374.         lbTelefone.setHorizontalTextPosition(JLabel.LEFT);
  375.         p.add(lbTelefone);
  376.  
  377.         JTextField jtxTelefone = new JTextField(c.getTelefone());
  378.         jtxTelefone.setPreferredSize(new Dimension(50, 24));
  379.         jtxTelefone.setEditable(false);
  380.         p.add(jtxTelefone);
  381.  
  382.         JLabel lbEmail = new JLabel("E-mail:");
  383.         lbEmail.setHorizontalAlignment(JLabel.LEFT);
  384.         lbEmail.setHorizontalTextPosition(JLabel.LEFT);
  385.         p.add(lbEmail);
  386.  
  387.         JTextField jtxEmail = new JTextField(c.getEmail());
  388.         jtxEmail.setPreferredSize(new Dimension(50, 24));
  389.         jtxEmail.setEditable(false);
  390.         p.add(jtxEmail);
  391.  
  392.         JButton jbtIExcluir = new JButton("Excluir contato");
  393.  
  394.         jbtIExcluir.addActionListener(new ActionListener() {
  395.             public void actionPerformed(ActionEvent ae) {
  396.  
  397.                 try {
  398.  
  399.                     String nome = jtxNome.getText();
  400.                     String telefone = jtxTelefone.getText();
  401.                     String email = jtxEmail.getText();
  402.  
  403.                     c.setIdContato(Integer.parseInt(lbCodigo2.getText()));
  404.                     c.setEmail(email);
  405.                     c.setNome(nome);
  406.                     c.setTelefone(telefone);
  407.                     c.excluir();
  408.  
  409.                     j.dispose();
  410.  
  411.                 } catch (Exception e) {
  412.                     // Logger.getLogger(Pedido.class.getName()).log(Level.SEVERE, null, e);
  413.                 }
  414.  
  415.             }
  416.         });
  417.  
  418.        
  419.  
  420.        
  421.         jbtIExcluir.setBounds(50, 100, 95, 30);
  422.  
  423.         p.add(jbtIExcluir);
  424.        
  425.  
  426.         p.setPreferredSize(new Dimension(400, 300));
  427.         p.setMaximumSize(new Dimension(400, 300));
  428.  
  429.         j.add(p);
  430.         j.pack();
  431.  
  432.         j.setVisible(true);
  433.     }
  434.  
  435.     public static void main(String[] args) {
  436.         JFrame j = new JFrame("AGENDA DE CONTATOS");
  437.  
  438.         JPanel p = new JPanel();
  439.         p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  440.  
  441.         JButton jBtCadastrar = new JButton("Cadastrar Contato");
  442.  
  443.         jBtCadastrar.addActionListener(new ActionListener() {
  444.             public void actionPerformed(ActionEvent ae) {
  445.  
  446.                 janelaInserir();
  447.             }
  448.         });
  449.  
  450.         JButton jBtListar = new JButton("Listar Contatos");
  451.  
  452.         jBtListar.addActionListener(new ActionListener() {
  453.             public void actionPerformed(ActionEvent ae) {
  454.  
  455.                 janelaListar();
  456.             }
  457.         });
  458.  
  459.         p.add(jBtCadastrar);
  460.         p.add(jBtListar);
  461.  
  462.         j.add(p);
  463.         j.setSize(300, 300);
  464.         j.setLocationRelativeTo(j);
  465.         j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  466.         j.setResizable(false);
  467.         j.setVisible(true);
  468.  
  469.     }
  470.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement