Advertisement
Apooo

Untitled

Jun 15th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.17 KB | None | 0 0
  1.  
  2. package bcc3;
  3.  
  4. import java.awt.FlowLayout;
  5. import java.awt.event.*;
  6. import java.sql.Connection;
  7. import java.sql.DriverManager;
  8. import java.sql.PreparedStatement;
  9. import java.sql.ResultSet;
  10.  
  11. import javax.swing.*;
  12. import javax.swing.table.DefaultTableModel;
  13.  
  14. import java.sql.SQLException;
  15. import java.sql.Statement;
  16. import java.util.logging.Level;
  17. import java.util.logging.Logger;
  18.  
  19.  
  20. public class Sistema extends JFrame implements
  21. ActionListener{
  22. //Área de referências globais e variáveis
  23. JLabel lNome, lEnd, lEst, lSex;
  24. JTextField tfNome, tfEnd;
  25. JButton bGravar, bLimpar, bSair, bExcluir;
  26. JComboBox cbEstado, cbCid;
  27. JRadioButton rbSexoM, rbSexoF;
  28. ButtonGroup bgSexo;
  29. JCheckBox cbxEditar;
  30. String texto = "Registros\n";
  31. JMenuItem miGravar, miSair, miLimpar;
  32. JMenu mArquivo, mEditar;
  33. JMenuBar barra;
  34. JTable tabela;
  35. JScrollPane scroll;
  36. DefaultTableModel model;
  37.  
  38. public Sistema() throws SQLException{
  39. //layout em fluxo sentido da escrita do caderno
  40. setLayout(new FlowLayout());
  41.  
  42.  
  43.  
  44. //instâncias dos campos de texto e seus rótulos
  45. lNome = new JLabel("Nome");
  46. add(lNome);
  47. tfNome = new JTextField(20);
  48. tfNome.addActionListener(this);
  49. add(tfNome);
  50. lEnd = new JLabel("Endereço");
  51. add(lEnd);
  52. tfEnd = new JTextField(30);
  53. add(tfEnd);
  54.  
  55.  
  56.  
  57. //instância do combobox e seu rótulo
  58. lEst = new JLabel("Estado");
  59. add(lEst);
  60. String [] estados =
  61. {"", "Ceará", "Maranhão", "Pará"};
  62. cbEstado = new JComboBox(estados);
  63. cbEstado.addActionListener(this);
  64. add(cbEstado);
  65.  
  66. String [] cidade = {"", "Anapolis", "Imperatriz", "Marabá"};
  67. cbCid = new JComboBox();
  68. add(cbCid);
  69.  
  70.  
  71.  
  72.  
  73.  
  74. //instância do radiobutton e seu rótulo
  75. lSex = new JLabel("Sexo");
  76. add(lSex);
  77. //agrupamento do radio button
  78. bgSexo = new ButtonGroup();
  79. rbSexoF = new JRadioButton("Feminino");
  80. bgSexo.add(rbSexoF);
  81. rbSexoM = new JRadioButton("Masculino");
  82. bgSexo.add(rbSexoM);
  83. add(rbSexoF);
  84. add(rbSexoM);
  85.  
  86. //instâncias dos buttons
  87. bGravar = new JButton("Gravar");
  88. //escuta que aguarda ação no botão e chama o método actionPerformed
  89. bGravar.addActionListener(this);
  90. bGravar.setToolTipText("Gravar os dados no sistema.");
  91. add(bGravar);
  92. bLimpar = new JButton("Limpar");
  93. bLimpar.addActionListener(this);
  94. bLimpar.setToolTipText("Limpar os campos.");
  95. add(bLimpar);
  96. bExcluir = new JButton("Excluir");
  97. bExcluir.addActionListener(this);
  98. add(bExcluir);
  99. bSair = new JButton("Sair");
  100. bSair.addActionListener(this);
  101. bSair.setToolTipText("Sair do sistema.");
  102. add(bSair);
  103.  
  104.  
  105.  
  106.  
  107. //instância do check box e seu rótulo
  108. cbxEditar = new JCheckBox("Não Editável");
  109. cbxEditar.addActionListener(this);
  110. add(cbxEditar);
  111.  
  112. //Menu de opções
  113. miGravar = new JMenuItem("Gravar");
  114. miGravar.setMnemonic('G'); // configura G como tecla de atalho
  115. miGravar.addActionListener(this);
  116. miSair = new JMenuItem("Sair");
  117. miSair.setMnemonic('S');
  118. miSair.addActionListener(this);
  119. mArquivo = new JMenu("Arquivo");
  120. mArquivo.setMnemonic('A'); //configura Alt + A como tecla de atalho
  121. mArquivo.add(miGravar);
  122. mArquivo.add(miSair);
  123. miLimpar = new JMenuItem("Limpar");
  124. miLimpar.setMnemonic('L');
  125. miLimpar.addActionListener(this);
  126. mEditar = new JMenu("Editar");
  127. mEditar.setMnemonic('E');
  128. mEditar.add(miLimpar);
  129. barra = new JMenuBar();
  130. barra.add(mArquivo);
  131. barra.add(mEditar);
  132. setJMenuBar(barra); //configura barra do menu completa na frame
  133.  
  134. String[] colunas =
  135. new String[]{"Nome","Endereço",
  136. "Estado", "Cidade", "Sexo"};
  137.  
  138. String[][] dados = new String[][]{{}};
  139.  
  140.  
  141.  
  142.  
  143. tabela = new JTable(dados,colunas);
  144. model = new DefaultTableModel(dados , colunas );
  145. tabela.setModel(model);
  146. Connection connection = DriverManager.getConnection("jdbc:derby://localhost:1527/dadosdb","root","1234");
  147. String sql = "select * from dados";
  148. Statement stmt = connection.createStatement();
  149. ResultSet rs = stmt.executeQuery(sql);
  150. while(rs.next()){
  151. String [] texto = {rs.getString("NOME"), rs.getString("ENDERECO"),
  152. rs.getString("ESTADO"),
  153. rs.getString("CIDADE"),
  154. rs.getString("SEXO")};
  155. model.addRow(texto);
  156. }
  157. scroll = new JScrollPane();
  158. scroll.setViewportView(tabela);
  159. add(scroll);
  160.  
  161. setSize(700, 500);
  162. setVisible(true);
  163. }
  164.  
  165. @Override
  166. public void actionPerformed(ActionEvent e) {
  167. // quando pressionado enter no campo
  168. // manda cursos para campo endereço
  169. if (e.getSource()==tfNome){
  170. tfEnd.requestFocus();
  171. }
  172. // quando marcado desabilita e torna não editável os campos
  173. // quando desmarcado retorna edição e habilita campos
  174. if (e.getSource()==cbxEditar){
  175. if (cbxEditar.isSelected()){
  176. tfNome.setEditable(false);
  177. tfEnd.setEnabled(false);
  178. cbEstado.setEnabled(false);
  179. rbSexoF.setEnabled(false);
  180. rbSexoM.setEnabled(false);
  181. bGravar.setEnabled(false);
  182. bLimpar.setEnabled(false);
  183. }
  184. if (cbxEditar.isSelected()==false){
  185. tfNome.setEditable(true);
  186. tfEnd.setEnabled(true);
  187. cbEstado.setEnabled(true);
  188. rbSexoF.setEnabled(true);
  189. rbSexoM.setEnabled(true);
  190. bGravar.setEnabled(true);
  191. bLimpar.setEnabled(true);
  192. }
  193. }
  194.  
  195.  
  196.  
  197.  
  198. if(e.getSource() == cbEstado){
  199. if (cbEstado.getSelectedIndex()==0){
  200. cbCid.removeAllItems();
  201. String [] cid = {""};
  202. cbCid.insertItemAt(cid[0], 0);
  203. }else if (cbEstado.getSelectedIndex()==1){
  204. cbCid.removeAllItems();
  205. String [] cidCe = {"", "Fortaleza", "Crato"};
  206. for (int i=0; i<=2; i++)
  207. cbCid.insertItemAt(cidCe[i], i);
  208. }else if (cbEstado.getSelectedIndex()==2){
  209. cbCid.removeAllItems();
  210. String [] cidMa = {"", "São Luis", "Imperatriz"};
  211. for (int i=0; i<=2; i++)
  212. cbCid.insertItemAt(cidMa[i], i);
  213. }else if (cbEstado.getSelectedIndex()==3){
  214. cbCid.removeAllItems();
  215. String [] cidPa = {"", "Belém", "Marabá"};
  216. for (int i=0; i<=2; i++)
  217. cbCid.insertItemAt(cidPa[i], i);
  218. }
  219. }
  220.  
  221.  
  222.  
  223.  
  224. //ações para o botão gravar
  225. if (e.getSource()==bGravar | e.getSource()==miGravar){
  226. try {
  227. if (tfNome.getText().equals("") |
  228. tfEnd.getText().equals("") |
  229. cbEstado.getSelectedIndex()==0 |
  230. cbCid.getSelectedItem()==null |
  231. rbSexoF.isSelected()==false &
  232. rbSexoM.isSelected()==false){
  233. JOptionPane.showMessageDialog(null, "Vazio!");
  234. }
  235.  
  236.  
  237. //verifica qual sexo foi selecionado
  238. String sexo = "";
  239. if (rbSexoF.isSelected()){
  240. sexo = "Feminino";
  241. }else if(rbSexoM.isSelected()){
  242. sexo = "Masculino";
  243. }
  244. //apresenta os dados gravados em um painel de opções
  245. String [] texto = {tfNome.getText(), tfEnd.getText(),
  246. cbCid.getSelectedItem().toString(),
  247. cbEstado.getSelectedItem().toString(),
  248. sexo};
  249.  
  250.  
  251. model.addRow(texto);
  252. Connection connection = DriverManager.getConnection("jdbc:derby://localhost:1527/dadosdb","root","1234");
  253. String sql = "INSERT INTO DADOS VALUES (?,?,?,?,?)";
  254. PreparedStatement stmt = connection.prepareStatement(sql);
  255. stmt.setString(1, tfNome.getText());
  256. stmt.setString(2, tfEnd.getText());
  257. stmt.setString(3, cbCid.getSelectedItem().toString());
  258. stmt.setString(4, cbEstado.getSelectedItem().toString());
  259. stmt.setString(5, sexo);
  260.  
  261. stmt.executeUpdate();
  262.  
  263.  
  264.  
  265. JOptionPane.showMessageDialog(null,
  266. "Gravado com sucesso!");
  267. //limpa os campos para os próximos dados
  268. tfNome.setText("");
  269. tfEnd.setText("");
  270.  
  271.  
  272.  
  273. cbEstado.setSelectedIndex(0);
  274. bgSexo.clearSelection();
  275. } catch (SQLException ex) {
  276. Logger.getLogger(Sistema.class.getName()).log(Level.SEVERE, null, ex);
  277. }
  278. }else if (e.getSource()==bLimpar | e.getSource()==miLimpar){
  279. //limpa todos os campos
  280. tfNome.setText("");
  281. tfEnd.setText("");
  282. cbEstado.setSelectedIndex(0);
  283. bgSexo.clearSelection();
  284. }else if (e.getSource()==bSair | e.getSource() == miSair){
  285. // sai do sistema
  286. System.exit(0);
  287.  
  288. //ação do botão excluir
  289. }else if (e.getSource()==bExcluir){
  290. try{
  291. int column = 0;
  292. Connection connection = DriverManager.getConnection("jdbc:derby://localhost:1527/dadosdb","root","1234");
  293. Statement stmt = connection.createStatement();
  294. int row = tabela.getSelectedRow();
  295. String value = tabela.getModel().getValueAt(row, column).toString();
  296.  
  297. model.removeRow(tabela.getSelectedRow());
  298. String sql = "DELETE FROM DADOS WHERE NOME = ?";
  299. PreparedStatement pstmt = connection.prepareStatement(sql);
  300. JOptionPane.showMessageDialog(null, pstmt);
  301. pstmt.setString(1,value);
  302. pstmt.executeUpdate(sql);
  303.  
  304. } catch(Exception a){
  305. JOptionPane.showMessageDialog(null, a);
  306. }
  307.  
  308. }
  309. }
  310.  
  311. public static void main (String [] args) throws SQLException{
  312.  
  313. CreateDB create = new CreateDB();
  314. Sistema s = new Sistema();
  315.  
  316. s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  317.  
  318.  
  319.  
  320. }
  321. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement