Advertisement
hercioneto

[RSTI 2023] Projeto agenda - classe principal

Dec 8th, 2023
1,080
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.81 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import java.awt.Dimension;
  4. import java.awt.FlowLayout;
  5. import java.awt.GridBagConstraints;
  6. import java.awt.GridBagLayout;
  7. import java.awt.GridLayout;
  8. import java.awt.Insets;
  9. import java.awt.event.ActionEvent;
  10. import java.awt.event.ActionListener;
  11. import java.sql.ResultSet;
  12. import java.util.ArrayList;
  13. import java.util.Collection;
  14. import java.util.Iterator;
  15. import javax.swing.BorderFactory;
  16. import javax.swing.JButton;
  17. import javax.swing.JFrame;
  18. import javax.swing.JLabel;
  19. import javax.swing.JPanel;
  20. import javax.swing.JScrollPane;
  21. import javax.swing.JTable;
  22. import javax.swing.JTextField;
  23. import javax.swing.table.DefaultTableModel;
  24. import javax.swing.table.JTableHeader;
  25.  
  26. /**
  27.  *
  28.  * @author Professor
  29.  */
  30. public class Agenda {
  31.  
  32.     static void janelaListar() {
  33.         JFrame j2 = new JFrame("Listar agenda");
  34.         j2.setSize(500, 500);
  35.         j2.setLocationRelativeTo(j2);
  36.         j2.setResizable(false);
  37.         JPanel p = new JPanel();
  38.         GridBagLayout layout = new GridBagLayout();
  39.  
  40.         p.setLayout(layout);
  41.        
  42.         p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  43.         p.setPreferredSize(new Dimension(450, 400));
  44.        
  45.        
  46.         JButton jbtEditar = new JButton("Editar contato");
  47.         JButton jbtExcluir = new JButton("Excluir contato");
  48.  
  49.        
  50.        
  51.        
  52.         GridBagConstraints gbc = new GridBagConstraints();
  53.         gbc.gridx = 0;
  54.         gbc.gridy = 0;
  55.         p.add(jbtEditar, gbc);
  56.         GridBagConstraints gbc1 = new GridBagConstraints();
  57.         gbc1.gridx = 1;
  58.         gbc1.gridy = 0;
  59.         gbc1.gridwidth = GridBagConstraints.REMAINDER;
  60.  
  61.         p.add(jbtExcluir,gbc1);
  62.        
  63.        
  64.         String[] colunas = {"Código",
  65.             "Nome",
  66.             "Telefone",
  67.             "E-mail"};
  68.         JTable jtbLista = new JTable(null, colunas);
  69.  
  70.         DefaultTableModel modelo = (new DefaultTableModel(null, colunas) {
  71.             @Override
  72.             public boolean isCellEditable(int row, int column) {
  73.                 return false;
  74.             }
  75.         });
  76.  
  77.         jtbLista.setModel(modelo);
  78.         Contatos c = new Contatos();
  79.  
  80.         ArrayList<Contatos> dados = c.listar();
  81.         for (Contatos cn : dados) {
  82.             Object[] objs = {cn.getIdContato(), cn.getNome(), cn.getTelefone(), cn.getEmail()};
  83.  
  84.             modelo.addRow(objs);
  85.         }
  86.  
  87.        
  88.  
  89.         JTableHeader header = jtbLista.getTableHeader();
  90.         header.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 0));
  91.         header.setPreferredSize(new Dimension(400, 30));
  92.        
  93.        
  94.        
  95.            
  96.         GridBagConstraints gbc2 = new GridBagConstraints();
  97.         gbc2.insets = new Insets(3,3,3,3);
  98.         gbc2.gridx = 0;
  99.         gbc2.gridy = 1;
  100.         gbc2.fill = GridBagConstraints.VERTICAL;
  101.         p.add(header,gbc2);
  102.        
  103.         GridBagConstraints gbc3 = new GridBagConstraints();
  104.        
  105.         gbc3.gridx = 0;
  106.         gbc3.gridy = 2;
  107.         gbc3.weightx = 1.0;
  108.         gbc3.weighty = 1.0;
  109.         gbc3.gridwidth = GridBagConstraints.REMAINDER;
  110.         gbc3.fill = GridBagConstraints.BOTH;
  111.        
  112.         JScrollPane js = new JScrollPane(jtbLista);
  113.         js.setPreferredSize(new Dimension(10, 400));
  114.        
  115.        
  116.         p.add(js,gbc3);
  117.        
  118.        
  119.        
  120.  
  121.         j2.add(p);
  122.         j2.pack();
  123.         j2.setVisible(true);
  124.        
  125.        
  126.        
  127.         jbtEditar.addActionListener(new ActionListener() {
  128.             public void actionPerformed(ActionEvent ae) {
  129.                 int column = 0;
  130.                 int row = jtbLista.getSelectedRow();
  131.                 String idContato = jtbLista.getModel().getValueAt(row, column).toString();
  132.                 System.out.println("Contato selecionado: "+ idContato);
  133.                 //agora tem que ter uma janela para carregar o contato (tem um método que busca os dados
  134.                 //e alterar o contato
  135.  
  136.             }
  137.         });
  138.        
  139.  
  140.     }
  141.  
  142.     static void janelaInserir() {
  143.         JFrame j = new JFrame("Inserir dados");
  144.         j.setSize(400, 300);
  145.         j.setLocationRelativeTo(j);
  146.  
  147.         j.setResizable(false);
  148.  
  149.         JPanel p = new JPanel();
  150.         p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  151.  
  152.         GridLayout layout = new GridLayout(0, 2, 30, 30);
  153.         p.setLayout(layout);
  154.  
  155.         JLabel lbNome = new JLabel("Nome:");
  156.         lbNome.setHorizontalAlignment(JLabel.LEFT);
  157.         lbNome.setHorizontalTextPosition(JLabel.LEFT);
  158.         p.add(lbNome);
  159.  
  160.         JTextField jtxNome = new JTextField();
  161.         jtxNome.setPreferredSize(new Dimension(50, 24));
  162.         p.add(jtxNome);
  163.  
  164.         JLabel lbTelefone = new JLabel("Telefone:");
  165.         lbTelefone.setHorizontalAlignment(JLabel.LEFT);
  166.         lbTelefone.setHorizontalTextPosition(JLabel.LEFT);
  167.         p.add(lbTelefone);
  168.  
  169.         JTextField jtxTelefone = new JTextField();
  170.         jtxTelefone.setPreferredSize(new Dimension(50, 24));
  171.         p.add(jtxTelefone);
  172.  
  173.         JLabel lbEmail = new JLabel("E-mail:");
  174.         lbEmail.setHorizontalAlignment(JLabel.LEFT);
  175.         lbEmail.setHorizontalTextPosition(JLabel.LEFT);
  176.         p.add(lbEmail);
  177.  
  178.         JTextField jtxEmail = new JTextField();
  179.         jtxEmail.setPreferredSize(new Dimension(50, 24));
  180.         p.add(jtxEmail);
  181.  
  182.         JButton jbtInserir = new JButton("Inserir contato");
  183.  
  184.         jbtInserir.addActionListener(new ActionListener() {
  185.             public void actionPerformed(ActionEvent ae) {
  186.  
  187.                 try {
  188.  
  189.                     String nome = jtxNome.getText();
  190.                     String telefone = jtxTelefone.getText();
  191.                     String email = jtxEmail.getText();
  192.  
  193.                     Contatos c = new Contatos();
  194.  
  195.                     c.setEmail(email);
  196.                     c.setNome(nome);
  197.                     c.setTelefone(telefone);
  198.                     c.inserir();
  199.  
  200.                     j.dispose();
  201.  
  202.                 } catch (Exception e) {
  203.                     // Logger.getLogger(Pedido.class.getName()).log(Level.SEVERE, null, e);
  204.                 }
  205.  
  206.             }
  207.         });
  208.  
  209.         JButton jBtLimpar = new JButton("Limpar");
  210.  
  211.         jBtLimpar.addActionListener(new ActionListener() {
  212.             public void actionPerformed(ActionEvent ae) {
  213.  
  214.                 jtxNome.setText("");
  215.                 jtxTelefone.setText("");
  216.                 jtxEmail.setText("");
  217.  
  218.             }
  219.         });
  220.  
  221.         jBtLimpar.setBounds(50, 100, 95, 30);
  222.         jbtInserir.setBounds(50, 100, 95, 30);
  223.  
  224.         p.add(jbtInserir);
  225.         p.add(jBtLimpar);
  226.  
  227.         p.setPreferredSize(new Dimension(400, 400));
  228.         p.setMaximumSize(new Dimension(400, 400));
  229.  
  230.         j.add(p);
  231.         j.pack();
  232.  
  233.         j.setVisible(true);
  234.     }
  235.  
  236.     public static void main(String[] args) {
  237.         JFrame j = new JFrame("AGENDA DE CONTATOS");
  238.  
  239.         JPanel p = new JPanel();
  240.         p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  241.  
  242.         JButton jBtCadastrar = new JButton("Cadastrar Contato");
  243.  
  244.         jBtCadastrar.addActionListener(new ActionListener() {
  245.             public void actionPerformed(ActionEvent ae) {
  246.  
  247.                 janelaInserir();
  248.             }
  249.         });
  250.  
  251.         p.add(jBtCadastrar);
  252.  
  253.         JButton jBtListar = new JButton("Listar Contatos");
  254.  
  255.         jBtListar.addActionListener(new ActionListener() {
  256.             public void actionPerformed(ActionEvent ae) {
  257.  
  258.                 janelaListar();
  259.             }
  260.         });
  261.  
  262.         p.add(jBtCadastrar);
  263.         p.add(jBtListar);
  264.  
  265.         j.add(p);
  266.         j.setSize(300, 300);
  267.         j.setLocationRelativeTo(j);
  268.         j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  269.         j.setResizable(false);
  270.         j.setVisible(true);
  271.  
  272.     }
  273. }
  274.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement