Advertisement
Guest User

Untitled

a guest
Jun 7th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.21 KB | None | 0 0
  1. package br.com.cardapio.view;
  2.  
  3. /**
  4. -- Autor: Gustavo Benedito Costa
  5. -- Curso: Ciência da Computação
  6. -- Disciplina: Análise de Programação Orientada a Objectos
  7. -- Professor: Carlos Feichas
  8. -- Ano: 2ºA
  9. -- Semestre: 3º Semestre
  10.  
  11. ***GEORGIANO*** — ***GEORGIAN*** — ***ქართული***
  12. -- ავტორი: გუშტავუ ბენედიტუ კოსტა
  13. -- კურსი: კომპიუტერული მეცნიერება
  14. -- დისციპლინური: ორიენტირებული პროგრამირება ანალიზი ობიექტები
  15. -- მასწავლებელი: კარლოს
  16. -- წელი: მეორე წელს A
  17. -- სემესტრი: მესამე სემესტრი
  18. **/
  19.  
  20. import java.awt.Color;
  21. import java.awt.Font;
  22. import java.sql.Array;
  23. import java.sql.SQLException;
  24. import java.util.ArrayList;
  25. import java.util.logging.Level;
  26. import java.util.logging.Logger;
  27. import javax.swing.JOptionPane;
  28. import javax.swing.JSpinner;
  29. import javax.swing.table.DefaultTableModel;
  30. import java.awt.event.ActionListener;
  31. import java.sql.SQLException;
  32. import java.awt.event.ActionEvent;
  33. import br.com.control.Cadastro;
  34.  
  35. public class Cardápio extends javax.swing.JFrame {
  36.  
  37. double valorTotal=0; //valor dos pedidos
  38. DefaultTableModel tab1; // model da tabela Lanches
  39. DefaultTableModel tab2; // model da tabela Lanches Selecionados
  40.  
  41. public Cardápio() {
  42. initComponents();
  43. Tprodutos(); // inicializa a tabela Lanches
  44. }
  45.  
  46. public void Tprodutos(){
  47. ArrayList<String> t = new ArrayList(); // lista dos produtos
  48. ArrayList<String> s = new ArrayList(); // lista dos preços
  49.  
  50. t.add("X-salada");t.add("Mini pizza");t.add("Hamburguer");t.add("Suco de laranja"); t.add("Cappuccino"); // inserção de valores nas listas
  51. s.add("4.00"); s.add("3.25"); s.add("5.30"); s.add("5.00"); s.add("3.30"); //
  52.  
  53. tab1=(DefaultTableModel) jTable1.getModel(); // model da tabela
  54. //tab1.setNumRows(0); <-- limpa a tabela
  55. int b=t.size(); // numero de tuplas na tabela
  56.  
  57. for(int i=0;i<b;i++)
  58. { //ok
  59. String produto = t.get(i); // pegar o nome do produto
  60. String valor = s.get(i); // pegar o valor do produto
  61. tab1.addRow(new String[]{produto,valor}); // inserção de valores na tabela
  62. }
  63. }
  64.  
  65. public String[] pega_dadosT1() throws SQLException{
  66. String[] a=new String [2]; // armazenar resultado
  67. String produto = "";
  68. String valor = "";
  69. int indiceLinha = jTable1.getSelectedRow(); // pegar o indice da linha selecionada
  70. if(jTable1.getRowCount()>0){ // numero de linhas > 0
  71. if (indiceLinha!=-1)
  72. {
  73. a[0] = (String) jTable1.getValueAt(indiceLinha,0); //pegar valor(linha , primeira coluna)
  74. a[1] = (String) jTable1.getValueAt(indiceLinha,1); //pegar valor(linha , segunda coluna)
  75. //obs: o indice das colunas sempre começa no numero 0
  76. }
  77. else
  78. {
  79. JOptionPane.showMessageDialog(null,"Selecione um lanche da tabela Lanches!!!");// mensagem de erro
  80. }
  81. }else{JOptionPane.showMessageDialog(null,"Sem lanches Disponiveis!!!");} // mensagem de erro
  82. return a; // retona vetor
  83. }
  84.  
  85. public void TprodutoSelecionado(String nomeP,String q,String v){
  86. double valor=Double.parseDouble(v); //conversão de String pra Double
  87. int quant=Integer.parseInt(q); //conversão de String pra Inteiro
  88.  
  89. valor=valor*quant; //
  90.  
  91. tab2=(DefaultTableModel) jTable2.getModel(); // Model
  92. tab2.addRow(new String[]{nomeP,""+quant,""+valor}); // Add tuplas
  93. valorTotal=valorTotal+valor; // Valor total dos pedidos
  94. jLValorTotal.setText(""+valorTotal); // inserindo valor no label(Valor Total: )
  95. }
  96.  
  97. public void Tdelet_prodSelec(){
  98. int indiceLinha = jTable2.getSelectedRow();
  99. double valorProd=0;
  100. if(jTable2.getRowCount()>0){
  101. if (indiceLinha!=-1)
  102. {
  103. valorProd= Double.parseDouble(""+jTable2.getValueAt(indiceLinha, 2));
  104. //converter // converter e pela valor
  105. valorTotal=valorTotal-valorProd; // atualizar valor total
  106. jLValorTotal.setText(""+valorTotal); // atualizar label
  107. ((DefaultTableModel) jTable2.getModel()).removeRow(indiceLinha); // remover da tabela
  108. }
  109. else{
  110. JOptionPane.showMessageDialog(null,"Selecione um lanche da tabela dos lanches selecionados!");//
  111. }
  112. }else{
  113. JOptionPane.showMessageDialog(null,"Tabela Lanches selecionados está vazia");//
  114. }
  115. }
  116.  
  117. @SuppressWarnings("unchecked")
  118. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  119. private void initComponents() {
  120.  
  121. jPanel1 = new javax.swing.JPanel();
  122. jScrollPane1 = new javax.swing.JScrollPane();
  123. jTable1 = new javax.swing.JTable();
  124. jScrollPane2 = new javax.swing.JScrollPane();
  125. jTable2 = new javax.swing.JTable();
  126. JBAdicionar = new javax.swing.JButton();
  127. jBDelete = new javax.swing.JButton();
  128. jLabel1 = new javax.swing.JLabel();
  129. jLValorTotal = new javax.swing.JLabel();
  130. jLabel3 = new javax.swing.JLabel();
  131. jLabel4 = new javax.swing.JLabel();
  132. Confirmacao = new javax.swing.JButton();
  133.  
  134. setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  135. setResizable(false);
  136.  
  137. jPanel1.setBackground(new java.awt.Color(224, 237, 235));
  138. jPanel1.setMaximumSize(new java.awt.Dimension(550, 300));
  139. jPanel1.setMinimumSize(new java.awt.Dimension(550, 300));
  140. jPanel1.setPreferredSize(new java.awt.Dimension(551, 300));
  141. jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  142.  
  143. jTable1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  144. jTable1.setModel(new javax.swing.table.DefaultTableModel(
  145. new Object [][] {
  146.  
  147. },
  148. new String [] {
  149. "Produtos", "Valor"
  150. }
  151. ) {
  152. boolean[] canEdit = new boolean [] {
  153. false, false
  154. };
  155.  
  156. public boolean isCellEditable(int rowIndex, int columnIndex) {
  157. return canEdit [columnIndex];
  158. }
  159. });
  160. jTable1.setSelectionBackground(new java.awt.Color(0, 153, 153));
  161. jScrollPane1.setViewportView(jTable1);
  162. if (jTable1.getColumnModel().getColumnCount() > 0) {
  163. jTable1.getColumnModel().getColumn(0).setResizable(false);
  164. jTable1.getColumnModel().getColumn(1).setMinWidth(50);
  165. jTable1.getColumnModel().getColumn(1).setPreferredWidth(50);
  166. jTable1.getColumnModel().getColumn(1).setMaxWidth(50);
  167. }
  168.  
  169. jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 40, 230, 124));
  170.  
  171. jTable2.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  172. jTable2.setModel(new javax.swing.table.DefaultTableModel(
  173. new Object [][] {
  174.  
  175. },
  176. new String [] {
  177. "Produtos", "Q", "Valor"
  178. }
  179. ) {
  180. boolean[] canEdit = new boolean [] {
  181. false, false, false
  182. };
  183.  
  184. public boolean isCellEditable(int rowIndex, int columnIndex) {
  185. return canEdit [columnIndex];
  186. }
  187. });
  188. jTable2.setSelectionBackground(new java.awt.Color(0, 153, 153));
  189. jScrollPane2.setViewportView(jTable2);
  190. if (jTable2.getColumnModel().getColumnCount() > 0) {
  191. jTable2.getColumnModel().getColumn(0).setResizable(false);
  192. jTable2.getColumnModel().getColumn(1).setMinWidth(30);
  193. jTable2.getColumnModel().getColumn(1).setPreferredWidth(30);
  194. jTable2.getColumnModel().getColumn(1).setMaxWidth(30);
  195. jTable2.getColumnModel().getColumn(2).setMinWidth(50);
  196. jTable2.getColumnModel().getColumn(2).setPreferredWidth(50);
  197. jTable2.getColumnModel().getColumn(2).setMaxWidth(50);
  198. }
  199.  
  200. jPanel1.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 40, 230, 124));
  201.  
  202. JBAdicionar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  203. JBAdicionar.setText("Adicionar");
  204. JBAdicionar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  205. JBAdicionar.addActionListener(new java.awt.event.ActionListener() {
  206. public void actionPerformed(java.awt.event.ActionEvent evt) {
  207. JBAdicionarActionPerformed(evt);
  208. }
  209. });
  210. jPanel1.add(JBAdicionar, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 70, 101, 30));
  211.  
  212. jBDelete.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  213. jBDelete.setText("Deletar");
  214. jBDelete.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  215. jBDelete.setMaximumSize(new java.awt.Dimension(101, 29));
  216. jBDelete.setMinimumSize(new java.awt.Dimension(101, 29));
  217. jBDelete.setPreferredSize(new java.awt.Dimension(101, 29));
  218. jBDelete.addActionListener(new java.awt.event.ActionListener() {
  219. public void actionPerformed(java.awt.event.ActionEvent evt) {
  220. jBDeleteActionPerformed(evt);
  221. }
  222. });
  223. jPanel1.add(jBDelete, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 110, 101, 30));
  224.  
  225. jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  226. jLabel1.setText("Valor Total:");
  227. jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 170, -1, -1));
  228.  
  229. jLValorTotal.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  230. jLValorTotal.setText("0.0");
  231. jPanel1.add(jLValorTotal, new org.netbeans.lib.awtextra.AbsoluteConstraints(590, 170, 50, -1));
  232.  
  233. jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  234. jLabel3.setForeground(new java.awt.Color(67, 159, 137));
  235. jLabel3.setText("Lanches:");
  236. jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 20, -1, -1));
  237.  
  238. jLabel4.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  239. jLabel4.setForeground(new java.awt.Color(67, 159, 137));
  240. jLabel4.setText("Lanches selecionados:");
  241. jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 20, -1, -1));
  242.  
  243. Confirmacao.setBackground(new java.awt.Color(132, 196, 196));
  244. Confirmacao.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  245. Confirmacao.setText("Confirmar");
  246. Confirmacao.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  247. Confirmacao.setMaximumSize(new java.awt.Dimension(101, 30));
  248. Confirmacao.setMinimumSize(new java.awt.Dimension(101, 30));
  249. Confirmacao.setPreferredSize(new java.awt.Dimension(101, 30));
  250. Confirmacao.setSize(new java.awt.Dimension(101, 30));
  251. Confirmacao.addActionListener(new java.awt.event.ActionListener() {
  252. public void actionPerformed(java.awt.event.ActionEvent evt) {
  253. ConfirmacaoActionPerformed(evt);
  254. }
  255. });
  256. jPanel1.add(Confirmacao, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 210, 101, 30));
  257.  
  258. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  259. getContentPane().setLayout(layout);
  260. layout.setHorizontalGroup(
  261. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  262. .addGroup(layout.createSequentialGroup()
  263. .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 650, javax.swing.GroupLayout.PREFERRED_SIZE)
  264. .addGap(0, 0, Short.MAX_VALUE))
  265. );
  266. layout.setVerticalGroup(
  267. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  268. .addGroup(layout.createSequentialGroup()
  269. .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 265, javax.swing.GroupLayout.PREFERRED_SIZE)
  270. .addGap(0, 0, Short.MAX_VALUE))
  271. );
  272.  
  273. pack();
  274. }// </editor-fold>
  275.  
  276. private void JBAdicionarActionPerformed(java.awt.event.ActionEvent evt) {
  277. try {
  278. String prod[]=pega_dadosT1(); // "pega_dadosT1"
  279. String nome=prod[0];
  280. String valor=prod[1];
  281. String quant;
  282.  
  283. if (nome!=null){ //
  284. JSpinner spinner = new JSpinner(); // cria um spinner
  285. spinner.setValue(1); // inicializar com 1
  286. JOptionPane.showMessageDialog(null, spinner, "Quantidade/Porção", WIDTH);// adionando o spinner a mensagem
  287. //obs: não consegui add o spinner ao ...showInputDialog.. fica 2 campos na tela, ou seja, não tem botão cancelar
  288. quant=""+spinner.getValue(); //
  289. TprodutoSelecionado(nome,quant,valor);//
  290. }
  291. } catch (SQLException ex) {
  292. Logger.getLogger(Cardápio.class.getName()).log(Level.SEVERE, null, ex);
  293. }
  294.  
  295. }
  296.  
  297. private void jBDeleteActionPerformed(java.awt.event.ActionEvent evt) {
  298. Tdelet_prodSelec();//
  299. }
  300.  
  301. private void ConfirmacaoActionPerformed(java.awt.event.ActionEvent evt) {
  302. Confirmacao.addActionListener(new ActionListener() {
  303. public void actionPerformed(ActionEvent arg0) {
  304. try {
  305.  
  306. // jTable é incompatível com o método getText
  307.  
  308. Cadastro.cadastrar(tab2.getText(), jLValorTotal.getText());
  309. tab2.setText("");
  310. jLValorTotal.setText("");
  311. System.out.println("Cadastrado");
  312. } catch (SQLException e) {
  313. System.out.println("Deu erro");
  314. }
  315. }
  316. });
  317. }
  318.  
  319. /**
  320. * @param args the command line arguments
  321. */
  322. public static void main(String args[]) {
  323.  
  324. java.awt.EventQueue.invokeLater(new Runnable() {
  325. public void run() {
  326. new Cardápio().setVisible(true);
  327. }
  328. });
  329. }
  330.  
  331. /**
  332. *
  333. */
  334.  
  335. // Variables declaration - do not modify
  336. private javax.swing.JButton Confirmacao;
  337. private javax.swing.JButton JBAdicionar;
  338. private javax.swing.JButton jBDelete;
  339. private javax.swing.JLabel jLValorTotal;
  340. private javax.swing.JLabel jLabel1;
  341. public javax.swing.JLabel jLabel3;
  342. private javax.swing.JLabel jLabel4;
  343. private javax.swing.JPanel jPanel1;
  344. private javax.swing.JScrollPane jScrollPane1;
  345. private javax.swing.JScrollPane jScrollPane2;
  346. private javax.swing.JTable jTable1;
  347. private javax.swing.JTable jTable2;
  348. // End of variables declaration
  349. }
  350.  
  351. private void ConfirmacaoActionPerformed(java.awt.event.ActionEvent evt) {
  352. Confirmacao.addActionListener(new ActionListener() {
  353. public void actionPerformed(ActionEvent arg0) {
  354. try {
  355.  
  356. // jTable2 ou tab2 são incompatíveis com o método getText
  357.  
  358. Cadastro.cadastrar(tab2.getText(), jLValorTotal.getText());
  359. tab2.setText("");
  360. jLValorTotal.setText("");
  361. System.out.println("Cadastrado");
  362. } catch (SQLException e) {
  363. System.out.println("Deu erro");
  364. }
  365. }
  366. });
  367. }
  368.  
  369. package br.com.control;
  370.  
  371. import java.sql.Connection;
  372. import java.sql.PreparedStatement;
  373. import java.sql.SQLException;
  374.  
  375. import br.com.cardapio.view.Conexao;
  376.  
  377. public class Cadastro {
  378. public static void cadastrar(String produtos, String quantidade, String prestacao) throws SQLException{
  379. Conexao classeConexao = new Conexao();
  380. Connection c = classeConexao.getConnection();
  381. PreparedStatement stmt;
  382. String query = "insert into cadastrofiscal values (?,?,?)";
  383. stmt = c.prepareStatement(query);
  384. stmt.setString(1, produtos);
  385. stmt.setString(2, quantidade);
  386. stmt.setString(3, prestacao);
  387. System.out.println(query);
  388. stmt.executeUpdate();
  389.  
  390.  
  391. }
  392. }
  393.  
  394. package br.com.cardapio.view;
  395.  
  396. import java.sql.Connection;
  397. import java.sql.DriverManager;
  398. import java.sql.SQLException;
  399.  
  400. public class Conexao {
  401.  
  402. Connection con = null;
  403. private static Conexao instance = null;
  404.  
  405. public Conexao() {
  406. inicio();
  407. }
  408.  
  409. public void inicio() {
  410. try {
  411. Class.forName("com.mysql.jdbc.Driver");
  412. System.out.println("Driver Carregado");
  413. } catch (ClassNotFoundException e) {
  414. System.out.println("O driver do Mysql n�o p�de ser carregado!");
  415. }
  416. }
  417.  
  418. public static Conexao getInstance() {
  419. if (instance == null) {
  420. instance = new Conexao();
  421. }
  422. return instance;
  423. }
  424.  
  425. public Connection getConnection() {
  426. try {
  427. if ((con == null) || (con.isClosed())) {
  428. con = DriverManager.getConnection("jdbc:mysql://localhost/agenda", "root", "");
  429. System.out.println("Conex�o Estabelecida");
  430. }
  431. } catch (SQLException e) {
  432. System.out.println(e.getMessage());
  433. }
  434. return con;
  435. }
  436.  
  437. public void destroy() {
  438. try {
  439. con.close();
  440. } catch (SQLException e) {
  441. System.out.println(e.getMessage());
  442. }
  443. }
  444.  
  445.  
  446. }
  447.  
  448. package br.com.cardapio.view;
  449.  
  450. import java.sql.Connection;
  451.  
  452. public class Teste {
  453. public static void main (String [] args){
  454. Conexao c = new Conexao();
  455. Connection con = c.getConnection();
  456.  
  457. }
  458. }
  459.  
  460. CREATE DATABASE cardapiofiscal;
  461. USE cardapiofiscal;
  462.  
  463. SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
  464. SET time_zone = "+00:00";
  465.  
  466. CREATE TABLE `cadastrofiscal` (
  467. `produtos` TEXT COLLATE utf8_bin NOT NULL,
  468. `quantidade` INT(2) NOT NULL,
  469. `prestacao` INT(5) NOT NULL
  470. );
  471.  
  472. insert into cadastrofiscal values ('X-salada, Suco de Laranja','2', '9.00');
  473.  
  474. select * from cadastrofiscal;
  475.  
  476. public class Produto {
  477.  
  478. private String nome;
  479. private double valor;
  480. private int quantidade;
  481.  
  482. public int getNome() {
  483. return nome;
  484. }
  485.  
  486. public void setNome(String nome) {
  487. this.nome = nome;
  488. }
  489.  
  490. public double getValor() {
  491. return valor;
  492. }
  493.  
  494. public void setValor(double valor) {
  495. this.valor = valor;
  496. }
  497.  
  498. public int getQuantidade() {
  499. return quantidade;
  500. }
  501.  
  502. public void setQuantidade(int quantidade) {
  503. this.quantidade = quantidade;
  504. }
  505. }
  506.  
  507. ArrayList<Produto> produtos = new ArrayList<>();
  508. int totalRows = suaJtable.getRowCount();
  509.  
  510. for (int i = 0; i < totalRows; i++) {
  511. Produto p = new Produto();
  512. p.setNome((String) suaJTable.getModel().getValueAt(i, 0));
  513. p.setValor((double) suaJTable.getModel().getValueAt(i, 2));
  514. p.setQuantidade((int) suaJTable.getModel().getValueAt(i, 3));
  515.  
  516. produtos.add(p);
  517. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement