Advertisement
Guest User

ProvaPHH/DANIEL LEITE

a guest
Sep 18th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.35 KB | None | 0 0
  1. import java.sql.DriverManager;
  2. import java.sql.Connection;
  3. import java.sql.SQLException;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6.  
  7. import javax.swing.JFrame;
  8. import javax.swing.JLabel;
  9. import javax.swing.JOptionPane;
  10. import javax.swing.JTextField;
  11. import javax.swing.JButton;
  12. import javax.swing.JTable;
  13. import javax.swing.table.DefaultTableModel;
  14. import javax.swing.JScrollPane;
  15.  
  16. import java.awt.event.ActionListener;
  17. import java.awt.event.ActionEvent;
  18.  
  19. public class Principal {
  20.    
  21.     JFrame janela = new JFrame();
  22.     JLabel labelNome = new JLabel();
  23.     JLabel labelValor = new JLabel();
  24.     JTextField campoNome = new JTextField();
  25.     JTextField campoAdd = new JTextField();
  26.     JButton botaoAdd = new JButton();
  27.     JButton botaoExcluir = new JButton();
  28.     JButton botaoFiltro = new JButton();
  29.        
  30.    
  31.     DefaultTableModel dadosJTable = new DefaultTableModel();
  32.     JTable jtableProdutos = new JTable(dadosJTable);
  33.     JScrollPane scrollJTableProdutos = new JScrollPane(jtableProdutos);
  34.     int linhaSelecionada;
  35.        
  36.     String url = "jdbc:mysql://localhost:3306";
  37.     String user = "root";
  38.     String senha = "";
  39.     String baseDeDados = "aulaph";
  40.     String tabela = "fatorial";
  41.    
  42.     Connection conexao;
  43.     String comandoSQL;
  44.     String comandoSQLconsulta;
  45.     PreparedStatement comandoPreparado;
  46.     ResultSet resultadoConsulta;
  47.    
  48.    
  49.     public Principal() {
  50.         try {
  51.             montarJanela();
  52.             adicionarEventosAosBotoes();
  53.             conectarAoBancoDeDados();
  54.             realizarConsultaProdutos();
  55.            
  56.         } catch (SQLException e) {
  57.             e.printStackTrace();
  58.         }
  59.     }
  60.    
  61.    
  62.     public void montarJanela() {
  63.         janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  64.         janela.setLayout(null);
  65.         janela.setSize(600, 400);
  66.         janela.setLocationRelativeTo(null);
  67.        
  68.        
  69.         campoNome.setSize(200, 30);
  70.         campoNome.setLocation(50, 20);
  71.        
  72.         campoAdd.setSize(130, 30);
  73.         campoAdd.setLocation(50, 320);
  74.        
  75.        
  76.        
  77.         scrollJTableProdutos.setSize(550, 200);
  78.         scrollJTableProdutos.setLocation(20, 100);
  79.         jtableProdutos.setDefaultEditor(Object.class, null);
  80.        
  81.    
  82.         dadosJTable.addColumn("NUMERO");
  83.         dadosJTable.addColumn("FATORIAL");
  84.        
  85.        
  86.         botaoFiltro.setText("FILTRO");
  87.         botaoFiltro.setSize(80, 30);
  88.         botaoFiltro.setLocation(300, 20);
  89.        
  90.         botaoAdd.setText("Adicionar");
  91.         botaoAdd.setSize(100, 30);
  92.         botaoAdd.setLocation(200, 320);
  93.        
  94.         botaoExcluir.setText("Excluir");
  95.         botaoExcluir.setSize(100, 30);
  96.         botaoExcluir.setLocation(330, 320);
  97.        
  98.         janela.add(botaoFiltro);
  99.         janela.add(campoNome);
  100.         janela.add(campoAdd);
  101.         janela.add(botaoAdd);
  102.         janela.add(botaoExcluir);
  103.         janela.add(scrollJTableProdutos);
  104.         janela.setVisible(true);
  105.     }
  106.    
  107.    
  108.     public void conectarAoBancoDeDados() throws SQLException {
  109.         conexao = DriverManager.getConnection(url, user, senha);
  110.         System.out.println("Conectado ao MySQL!");
  111.         conexao.setCatalog(baseDeDados);
  112.         System.out.println("Base de dados selecionada: " + baseDeDados);
  113.     }
  114.    
  115.    
  116.     public void realizarConsultaProdutos() {
  117.         try {
  118.             comandoSQLconsulta = "SELECT * FROM " + tabela + ";";
  119.             comandoPreparado = conexao.prepareStatement(comandoSQLconsulta);
  120.             resultadoConsulta = comandoPreparado.executeQuery();
  121.             dadosJTable.getDataVector().removeAllElements();
  122.             while(resultadoConsulta.next()) {
  123.                 //System.out.println("ID: " + resultadoConsulta.getInt("id") + "    NOME: " + resultadoConsulta.getString("nome") + "    VALOR: " + resultadoConsulta.getDouble("valor"));
  124.                 dadosJTable.addRow(new Object[]{resultadoConsulta.getInt("IDFatorial"), resultadoConsulta.getString("Numero"), resultadoConsulta.getDouble("Fatorial")});
  125.             }
  126.         } catch (SQLException e) {
  127.             e.printStackTrace();
  128.         }
  129.     }
  130.    
  131.    
  132.     public void adicionarEventosAosBotoes() {
  133.        
  134.         botaoAdd.addActionListener(
  135.             new ActionListener() {
  136.                 public void actionPerformed(ActionEvent e) {
  137.                     try {                  
  138.                         comandoSQL = "INSERT INTO " + tabela + " VALUES (" + IDFatorial.getText() +", '" + Numero.getText() + "', " + Fatorial.getText() + ");";                                           
  139.                         comandoPreparado = conexao.prepareStatement(comandoSQL);
  140.                         comandoPreparado.execute();                    
  141.                         System.out.println("Produto inserido!");
  142.                         campoIDFatorial.setText("");    // limpa o componente da interface grafica
  143.                         campoNome.setText("");  // limpa o componente da interface grafica
  144.                         campoNumero.setText("");    // limpa o componente da interface grafica
  145.                        
  146.                         realizarConsultaProdutos();
  147.                        
  148.                     } catch (SQLException e1) {                    
  149.                         e1.printStackTrace();
  150.                     }
  151.                 }
  152.             }
  153.         );
  154.        
  155.        
  156.        
  157.         botaoExcluir.addActionListener(
  158.             new ActionListener() {
  159.                 public void actionPerformed(ActionEvent e) {
  160.                     linhaSelecionada = jtablefatorial.getSelectedRow();
  161.                    
  162.                     if (linhaSelecionada > -1) {
  163.                         int numeroexcluir = (int) dadosJTable.getValueAt(linhaSelecionada, 0);
  164.                        
  165.                         try {                  
  166.                             comandoSQL = "DELETE FROM " + tabela + " WHERE id=" + numeroexcluir +";";                                          
  167.                             comandoPreparado = conexao.prepareStatement(comandoSQL);
  168.                             comandoPreparado.execute();                    
  169.                             System.out.println("numero excluido!");
  170.                            
  171.                             realizarConsultafatorial();
  172.                            
  173.                         } catch (SQLException e1) {                    
  174.                             e1.printStackTrace();
  175.                         }
  176.                    
  177.                     } else {
  178.                         JOptionPane.showMessageDialog(janela, "Selecione uma linha para excluir!");
  179.                     }
  180.                    
  181.                 }
  182.             }
  183.         );
  184.                
  185.     }
  186.    
  187.    
  188.     public static void main(String[] args) {
  189.         new Principal();
  190.     }
  191.  
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement