Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package view;
- import entidades.Veiculo;
- import java.net.URL;
- import java.util.ResourceBundle;
- import java.util.regex.Pattern;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.fxml.FXML;
- import javafx.fxml.Initializable;
- import javafx.scene.control.Button;
- import javafx.scene.control.CheckBox;
- import javafx.scene.control.ComboBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.TableView;
- import javafx.scene.control.TextField;
- import javafx.scene.input.KeyCode;
- import javafx.scene.input.KeyEvent;
- import javafx.scene.input.MouseEvent;
- import javafx.scene.layout.AnchorPane;
- import model.util.MaskFieldUtil;
- import model.util.Util;
- import org.controlsfx.control.action.Action;
- import org.controlsfx.dialog.Dialogs;
- public class TelaParceirosController implements Initializable, ControlledScreen {
- ScreensController myController;
- @FXML
- private ComboBox cmbTipoPessoa,
- cmbUF,
- cmbPorte;
- @FXML
- private CheckBox chkAtivo;
- @FXML
- private Label lblDescricao,
- lblCPF_CNPJ,
- lblBairro,
- lblCEP,
- lblCidade,
- lblComplemento,
- lblEmail,
- lblFone1,
- lblFone2,
- lblLogradouro,
- lblNumero,
- lblPlaca,
- lblUF,
- lblVeiculo;
- @FXML
- private TextField txtCodigo,
- txtNome,
- ftxtCPF_CNPJ,
- txtLogradouro,
- txtComplemento,
- txtNumero,
- txtBairro,
- ftxtCEP,
- txtCidade,
- txtFone1,
- txtFone2,
- txtEmail,
- txtDescricao,
- txtPlaca;
- @FXML
- private Button btnIncluirParceiros,
- btnNovoParceiros,
- btnPesquisar,
- btnLimparParceiros,
- btnIncluirVeiculo,
- btnRemoverVeiculo,
- btnLimparCampos;
- @FXML
- private TableView tblVeiculos,
- tblPesquisa;
- @FXML
- private AnchorPane anchorPanePesquisa;
- @Override
- public void initialize(URL url, ResourceBundle rb) {
- // TODO
- }
- public void setScreenParent(ScreensController screenParent) {
- myController = screenParent;
- cmbTipoPessoa.getSelectionModel().select(0);
- txtCidade.setText("GOIÂNIA");
- cmbUF.getSelectionModel().select(8);
- cmbPorte.getSelectionModel().select(1);
- }
- //volta para a tela principal
- @FXML
- private void keyReleased(KeyEvent keyEvent) {
- if (keyEvent.getCode() == KeyCode.ESCAPE) {
- Util.voltar(myController);
- }
- }
- @FXML
- private void onMouseEntered(MouseEvent mouseEvent) {
- Button b = (Button) mouseEvent.getSource();
- if (null != b.getText()) switch (b.getText()) {
- case "Novo":
- lblDescricao.setText("Habilita campos para cadastro de novo cliente.");
- break;
- case "Limpar":
- lblDescricao.setText("Limpa os campos e volta todos para o estado inicial.");
- break;
- case "Salvar":
- lblDescricao.setText("Valida as alterações e salva o registro.");
- break;
- case "Deletar":
- lblDescricao.setText("Valida as alterações e salva o registro.");
- break;
- case "Incluir":
- lblDescricao.setText("Valida as informações e inclui o novo registro.");
- break;
- case "Voltar":
- lblDescricao.setText("Volta para a tela principal.");
- break;
- }
- mouseEvent.consume();
- }
- @FXML
- private void onMouseExited(MouseEvent mouseEvent) {
- lblDescricao.setText(null);
- }
- @FXML
- private void btnVoltarOnAction(ActionEvent event) {
- clear();
- elementChangeStatus(false);
- Util.voltar(myController);
- }
- //alterna o nome da label entre cpf e cnpj de acordo com a seleção na combo
- @FXML
- private void cmbTipoPessoaOnAction(ActionEvent event) {
- if (cmbTipoPessoa.getSelectionModel().getSelectedIndex() == 1) {
- ftxtCPF_CNPJ.setText(null);
- lblCPF_CNPJ.setText("CNPJ");
- } else {
- ftxtCPF_CNPJ.setText(null);
- lblCPF_CNPJ.setText("CPF");
- }
- }
- //mostra o anchorpane de pesquisa
- //faz as consultas no banco de acordo com os valores preenchidos
- @FXML
- private void btnPesquisarOnAction(ActionEvent event) {
- Util.pesquisar(true, anchorPanePesquisa);
- //implementar consultas
- }
- //esconde o anchorpane de pesquisa
- @FXML
- private void btnCancelarPesquisaOnAction(ActionEvent event) {
- Util.pesquisar(false, anchorPanePesquisa);
- }
- //habilita os elementos para inserção
- //limpa os campos para o caso de haver algum texto inadequado escrito
- //foca no textfield nome do cliente
- //desabilita o acesso ao textfield codigo
- //aplica máscara ao campo cnpj cpf
- @FXML
- private void btnNovoParceirosOnAction(ActionEvent event) {
- elementChangeStatus(true);
- clear();
- txtNome.requestFocus();
- txtCodigo.setEditable(false);
- MaskFieldUtil.cpfCnpjField(ftxtCPF_CNPJ);
- }
- //invoca o método clear que volta os valores dos elementos para seus padrões
- //e muda o status do cenário para o inicial (habilita pesquisa de clientes)
- @FXML
- private void btnLimparParceirosOnAction(ActionEvent event) {
- clear();
- elementChangeStatus(false);
- }
- @FXML
- private void btnIncluirParceirosOnAction(ActionEvent event) {
- }
- //só fica habilitado caso haja retorno de uma consulta
- @FXML
- private void btnDeletarParceirosOnAction(ActionEvent event) {
- }
- //adiciona veículo da tableview
- @FXML
- private void addVeiculo(ActionEvent event) {
- try {
- String placa = txtPlaca.getText().toUpperCase(),
- descricao = txtDescricao.getText().toUpperCase();
- Pattern p = Pattern.compile("[a-zA-Z]{3}-[0-9]{4}");
- boolean valida = p.matcher(placa).matches();
- if (descricao == null || placa == null || !valida) {
- Action erro = Dialogs.create()
- .title("Atenção")
- .masthead("Informe valores válidos")
- .message("Possíveis erros:\n\t• Veículo ou placa não informado"
- + "\n\t• Placa fora do padrão \"AAA-0000\"")
- .showWarning();
- } else if (valida) {
- }
- } catch (Exception e) {
- e.getMessage();
- }
- }
- //remove veículo da tableview
- @FXML
- private void removeVeiculo() {
- ObservableList<Veiculo> data = tblVeiculos.getItems();
- int index = tblVeiculos.getSelectionModel().getFocusedIndex();
- try {
- data.remove(index);
- } catch (Exception e) {
- try {
- data.remove(0);
- } catch (Exception ex) {
- Action response = Dialogs.create()
- .title("Atenção!")
- .masthead("Lista vazia")
- .showWarning();
- }
- }
- }
- //limpa apenas os campos Veículo, Placa e seta a combo para o valor 2 (carro)
- @FXML
- private void limpaCamposVeiculo() {
- txtDescricao.setText(null);
- txtPlaca.setText(null);
- cmbPorte.getSelectionModel().select(1);
- }
- //muda a propriedade disabled de acordo com o valor booleano do parâmetro
- private void elementChangeStatus(boolean x) {
- btnPesquisar.setDisable(x);
- btnNovoParceiros.setDisable(x);
- btnLimparParceiros.setDisable(!x);
- btnIncluirParceiros.setDisable(!x);
- chkAtivo.setDisable(!x);
- lblBairro.setDisable(!x);
- lblCEP.setDisable(!x);
- lblCidade.setDisable(!x);
- lblComplemento.setDisable(!x);
- lblEmail.setDisable(!x);
- lblFone1.setDisable(!x);
- lblFone2.setDisable(!x);
- lblLogradouro.setDisable(!x);
- lblNumero.setDisable(!x);
- lblPlaca.setDisable(!x);
- lblUF.setDisable(!x);
- lblVeiculo.setDisable(!x);
- txtLogradouro.setDisable(!x);
- txtComplemento.setDisable(!x);
- txtNumero.setDisable(!x);
- txtBairro.setDisable(!x);
- ftxtCEP.setDisable(!x);
- txtCidade.setDisable(!x);
- txtFone1.setDisable(!x);
- txtFone2.setDisable(!x);
- txtEmail.setDisable(!x);
- txtDescricao.setDisable(!x);
- txtPlaca.setDisable(!x);
- tblVeiculos.setDisable(!x);
- cmbUF.setDisable(!x);
- cmbPorte.setDisable(!x);
- btnIncluirVeiculo.setDisable(!x);
- btnRemoverVeiculo.setDisable(!x);
- btnLimparCampos.setDisable(!x);
- }
- //faz com que os campos voltem ao valor padrão inicial
- private void clear() {
- txtBairro.setText(null);
- ftxtCEP.setText(null);
- cmbTipoPessoa.getSelectionModel().select(0); //Pessoa Física
- ftxtCPF_CNPJ.setText(null);
- cmbUF.getSelectionModel().select(8); //UF => GO
- txtCidade.setText("GOIÂNIA");
- txtComplemento.setText(null);
- txtEmail.setText(null);
- txtFone1.setText(null);
- txtFone2.setText(null);
- txtLogradouro.setText(null);
- txtNumero.setText(null);
- cmbPorte.getSelectionModel().select(1); //Porte 2 (carro)
- txtPlaca.setText(null);
- txtDescricao.setText(null);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement