Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.32 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package controller;
  7.  
  8. import java.io.IOException;
  9. import java.net.URL;
  10. import java.util.List;
  11. import java.util.Optional;
  12. import java.util.ResourceBundle;
  13. import javafx.collections.FXCollections;
  14. import javafx.collections.ObservableList;
  15. import javafx.event.ActionEvent;
  16. import javafx.fxml.FXML;
  17. import javafx.fxml.FXMLLoader;
  18. import javafx.fxml.Initializable;
  19. import javafx.scene.Parent;
  20. import javafx.scene.Scene;
  21. import javafx.scene.control.Alert;
  22. import javafx.scene.control.Button;
  23. import javafx.scene.control.ButtonType;
  24. import javafx.scene.control.TableColumn;
  25. import javafx.scene.control.TableView;
  26. import javafx.scene.control.cell.PropertyValueFactory;
  27. import javafx.stage.Stage;
  28. import javax.swing.JOptionPane;
  29. import model.Cliente;
  30. import model.Produto;
  31. import model.dao.ClienteDAO;
  32. import model.dao.ProdutoDAO;
  33. import util.JpaUtil;
  34.  
  35. /**
  36. * FXML Controller class
  37. *
  38. * @author Lucas
  39. */
  40. public class CrudProdutoController implements Initializable {
  41.  
  42. @FXML
  43. private TableColumn<Object, String> tableColumnDesc;
  44. @FXML
  45. private TableColumn<Object, Float> tableColumnPreco;
  46. @FXML
  47. private TableColumn<Object, Integer> tableColumnQntd;
  48.  
  49. /**
  50. * Initializes the controller class.
  51. */
  52. @Override
  53. public void initialize(URL url, ResourceBundle rb) {
  54. carregarTableView("");
  55. }
  56. @FXML
  57. private TableView<Object> tableView;
  58.  
  59. @FXML
  60. private Button btnEditar;
  61. @FXML
  62. private Button btnExcluir;
  63. @FXML
  64. private Button btnCadastrar;
  65. @FXML
  66. private Button btnCancelar;
  67.  
  68. private ObservableList<Object> observableListProduto;
  69.  
  70. private List<Produto> listProduto;
  71.  
  72. private void carregarTableView(String valor) {
  73. try {
  74. tableColumnDesc.setCellValueFactory(new PropertyValueFactory<>("descricao"));
  75. tableColumnPreco.setCellValueFactory(new PropertyValueFactory<>("preco"));
  76. tableColumnQntd.setCellValueFactory(new PropertyValueFactory<>("quant"));
  77. ProdutoDAO dao = new ProdutoDAO();
  78. listProduto = dao.listar();
  79. observableListProduto = FXCollections.observableArrayList(listProduto);
  80. tableView.setItems(observableListProduto);
  81. } catch (Exception ex) {
  82. JOptionPane.showMessageDialog(null, ex.getMessage());
  83. }
  84. }
  85. @FXML
  86. private void cadastrar(){
  87. new JpaUtil().chamarTela("/view/cadProduto.fxml");
  88. carregarTableView("");
  89. }
  90. @FXML
  91. private void editar(ActionEvent event) {
  92. try {
  93. if (tableView.selectionModelProperty()
  94. .getValue().getSelectedItem() == null) {
  95. JOptionPane.showMessageDialog(null, "Nenhum item selecionado.");
  96. } else {
  97. FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/cadProduto.fxml"));
  98. Parent root = (Parent) loader.load();
  99. CadProdutoController cadProdutoController = loader.getController();
  100. Produto p = (Produto) tableView.selectionModelProperty()
  101. .getValue().getSelectedItem();
  102. cadProdutoController.setProduto(p);
  103. Stage stage = new Stage();
  104. stage.setScene(new Scene(root));
  105. stage.showAndWait();
  106. }
  107. carregarTableView("");
  108. } catch (IOException ex) {
  109. JOptionPane.showMessageDialog(null, ex.getMessage());
  110. }
  111. }
  112. @FXML
  113. private void fechar(){
  114. new JpaUtil().fecharTela(btnCancelar);
  115. }
  116.  
  117. @FXML
  118. private void excluir(ActionEvent event) {
  119. try {
  120. if (tableView.selectionModelProperty()
  121. .getValue().getSelectedItem() == null) {
  122. JOptionPane.showMessageDialog(null, "Nenhum item selecionado.");
  123. } else {
  124. Produto p = (Produto) tableView.
  125. selectionModelProperty().get().getSelectedItem();
  126. Integer id = p.getId();
  127. ProdutoDAO dao = new ProdutoDAO();
  128.  
  129. Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
  130. alert.setTitle("Aviso");
  131. alert.setContentText("Confirma exclusão do produto " + p.getDescricao() + "?");
  132.  
  133. Optional<ButtonType> result = alert.showAndWait();
  134. if (result.get() == ButtonType.OK) {
  135. String mensagem = "";
  136. try {
  137. dao.excluir(id);
  138. mensagem = "Exclusão efetuada com sucesso.";
  139.  
  140. } catch (Exception e) {
  141. mensagem = "Ocorreu um erro: " + e.getMessage();
  142. }
  143. Alert alertErro = new Alert(Alert.AlertType.INFORMATION);
  144. alertErro.setTitle("Aviso");
  145. alertErro.setContentText(mensagem);
  146. alertErro.showAndWait();
  147. }
  148.  
  149. }
  150.  
  151. carregarTableView("");
  152. } catch (Exception ex) {
  153. JOptionPane.showMessageDialog(null, ex);
  154. }
  155. }
  156.  
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement