Skip to content
Snippets Groups Projects
Commit 87295ef2 authored by Julio Arrieta's avatar Julio Arrieta
Browse files

Modiricando altaCategoria para ingreso alfanumericos con espacios guion y guion bajo

parent 02bdfef6
Branches
Tags
No related merge requests found
......@@ -54,7 +54,6 @@
</Properties>
<Events>
<EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtNombreFocusGained"/>
<EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNombreKeyTyped"/>
<EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNombreKeyPressed"/>
</Events>
<Constraints>
......
......@@ -7,6 +7,8 @@ import Logica.Interfaces.IAdmin;
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.BorderFactory;
import javax.swing.JOptionPane;
import javax.swing.border.Border;
......@@ -18,6 +20,9 @@ public class frmAltaCategoria extends javax.swing.JDialog {
Border bordeDefault;
Color colorOK = new ColorUIResource(40,167,69);
Color colorError = new ColorUIResource(220,53,69);
Pattern patronCategoria= Pattern.compile("^([A-Za-zÑñÁáÉéÍíÓóÚú\\d\\-_]+)\\s*([A-Za-zÑñÁáÉéÍíÓóÚú\\d\\-_]+)\\s*"
+ "([A-Za-zÑñÁáÉéÍíÓóÚú\\d\\-_]+)\\s*([A-Za-zÑñÁáÉéÍíÓóÚú\\d\\-_]+)\\s*([A-Za-zÑñÁáÉéÍíÓóÚú\\d\\-_]+)\\s*([A-Za-zÑñÁáÉéÍíÓóÚú\\d\\-_]+)$");
String nuevaCategoria = new String();
public frmAltaCategoria(java.awt.Frame parent, boolean modal) {
super(parent, modal);
......@@ -27,6 +32,49 @@ public class frmAltaCategoria extends javax.swing.JDialog {
sys = Fabrica.getInstancia().getIAdmin();
}
private boolean validarCategoria(){
nuevaCategoria = txtNombre.getText().trim().toUpperCase();
if(nuevaCategoria.equals("")){
lbMensaje.setText(" El campo nombre está vacío");//mensaje de error al adminstrador
cambiarColoresError();
return false;
}else if(nuevaCategoria.length() > 30){
lbMensaje.setText(" El nombre excede los 30 caracteres");//mensaje de error al adminstrador
cambiarColoresError();
return false;
}
else if(!validarFormatoCategoria(nuevaCategoria)){
lbMensaje.setText(" El fomrato es alfanumérico");//mensaje de error al adminstrador
cambiarColoresError();
return false;
}
else{
//Recorre todas las categorias existentes
try{
for(String item : sys.listarCategorias()) {
//Si la categoria ya existe avisa al administrador
if(nuevaCategoria.equals(item)){
lbMensaje.setText(" "+nuevaCategoria + " ya existe");//mensaje de error al adminstrador
cambiarColoresError();
nuevaCategoria = "";
return false;
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, (String) e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE);
}
}
return true;
}
private boolean validarFormatoCategoria(String cat){
Matcher mather = patronCategoria.matcher(cat);
if (mather.find() == true) {
return true;
}
return false;
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
......@@ -56,9 +104,6 @@ public class frmAltaCategoria extends javax.swing.JDialog {
}
});
txtNombre.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
txtNombreKeyTyped(evt);
}
public void keyPressed(java.awt.event.KeyEvent evt) {
txtNombreKeyPressed(evt);
}
......@@ -111,50 +156,16 @@ public class frmAltaCategoria extends javax.swing.JDialog {
}// </editor-fold>//GEN-END:initComponents
private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed
String nuevaCategoria = txtNombre.getText().trim().toUpperCase();
if(!nuevaCategoria.equals("") && nuevaCategoria.length()<31){
//Recorre todas las categorias existentes
boolean existe = false;//Variable
//Si la categoria supera la validacion la ingresa
if (validarCategoria()) {
try {
for(String item : sys.listarCategorias()) {
//Si la categoria ya existe avisa al administrador
if(nuevaCategoria.equals(item)){
existe = true;
lbMensaje.setText(" "+nuevaCategoria + " ya existe");//mensaje de error al adminstrador
lbMensaje.setBackground(colorError);
lbMensaje.setOpaque(true);
lbMensaje.setForeground(Color.WHITE); //texto en rojo
txtNombre.setBorder(BorderFactory.createLineBorder(colorError, 1));//color del borde rojo
nuevaCategoria = "";
break;
}
}
//Si la categoria no existe se agrega
if(!existe){
sys.altaCategoria(nuevaCategoria);
txtNombre.setText("");
lbMensaje.setForeground(Color.white); //texto en rojo
lbMensaje.setBackground(colorOK);
lbMensaje.setText(" Categoría \""+nuevaCategoria +"\" ingresada. OK");//
lbMensaje.setOpaque(true);
txtNombre.setBorder(bordeDefault); //Pone el borde con sus valores por default
cambiarColoresOK();
nuevaCategoria = "";
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Se produjo un error al intentar ingresar la nueva categoría.", "Alta de Categoría", JOptionPane.WARNING_MESSAGE);
JOptionPane.showMessageDialog(null, (String) e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE);
}
}else if(nuevaCategoria.equals("")){
lbMensaje.setText(" El campo nombre está vacío");//mensaje de error al adminstrador
lbMensaje.setBackground(colorError);
lbMensaje.setOpaque(true);
lbMensaje.setForeground(Color.WHITE); //texto en rojo
txtNombre.setBorder(BorderFactory.createLineBorder(colorError, 1));//color del borde rojo
}else if(nuevaCategoria.length() > 30){
lbMensaje.setText(" El nombre excede los 30 caracteres");//mensaje de error al adminstrador
lbMensaje.setBackground(colorError);
lbMensaje.setOpaque(true);
lbMensaje.setForeground(Color.WHITE); //texto en rojo
txtNombre.setBorder(BorderFactory.createLineBorder(colorError, 1));//color del borde rojo
}
}//GEN-LAST:event_btnAceptarActionPerformed
......@@ -165,75 +176,43 @@ public class frmAltaCategoria extends javax.swing.JDialog {
this.setVisible(false);
}//GEN-LAST:event_btnCancelarActionPerformed
private void txtNombreKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyTyped
// Solo letras
if ( ! Character.isLetter(evt.getKeyChar())) {
getToolkit().beep();
evt.consume();
}
}//GEN-LAST:event_txtNombreKeyTyped
private void txtNombreFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNombreFocusGained
// Cuando obtiene el foco los colores se resetean
txtNombre.setText("");
lbMensaje.setText("");
lbMensaje.setOpaque(false);
txtNombre.setBorder(bordeDefault);
}//GEN-LAST:event_txtNombreFocusGained
private void txtNombreKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyPressed
// Al presionar ENTER
if(evt.getKeyCode() == KeyEvent.VK_ENTER){
String nuevaCategoria = txtNombre.getText().trim().toUpperCase();
if(!nuevaCategoria.equals("") && nuevaCategoria.length()<31){
//Recorre todas las categorias existentes
boolean existe = false;//Variable
try{
for(String item : sys.listarCategorias()) {
//Si la categoria ya existe avisa al administrador
if(nuevaCategoria.equals(item)){
existe = true;
lbMensaje.setText(" "+nuevaCategoria + " ya existe");//mensaje de error al adminstrador
lbMensaje.setBackground(colorError);
lbMensaje.setOpaque(true);
lbMensaje.setForeground(Color.WHITE); //texto en rojo
txtNombre.setBorder(BorderFactory.createLineBorder(colorError, 1));//color del borde rojo
nuevaCategoria = "";
break;
}
}
//Si la categoria no existe se agrega
if(!existe){
sys.altaCategoria(nuevaCategoria);
txtNombre.setText("");
private void cambiarColoresOK(){
lbMensaje.setForeground(Color.white); //texto en rojo
lbMensaje.setBackground(colorOK);
lbMensaje.setText(" Categoría \"" + nuevaCategoria + "\" ingresada. OK");//
lbMensaje.setOpaque(true);
txtNombre.setBorder(bordeDefault); //Pone el borde con sus valores por default
nuevaCategoria = "";
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Se produjo un error al intentar ingresar la nueva categoría.", "Alta de Categoría", JOptionPane.WARNING_MESSAGE);
}
}else if(nuevaCategoria.equals("")){
lbMensaje.setText(" El campo nombre está vacío");//mensaje de error al adminstrador
lbMensaje.setBackground(colorError);
lbMensaje.setOpaque(true);
lbMensaje.setForeground(Color.WHITE); //texto en rojo
txtNombre.setBorder(BorderFactory.createLineBorder(colorError, 1));//color del borde rojo
}else if(nuevaCategoria.length() > 30){//Cheque el largo del campo
lbMensaje.setText(" El nombre excede los 30 caracteres");//mensaje de error al adminstrador
private void cambiarColoresError() {
lbMensaje.setBackground(colorError);
lbMensaje.setOpaque(true);
lbMensaje.setForeground(Color.WHITE); //texto en rojo
txtNombre.setBorder(BorderFactory.createLineBorder(colorError, 1));//color del borde rojo
}
btnAceptar.requestFocus();
}else if(evt.getKeyCode() == KeyEvent.VK_TAB){
btnAceptar.requestFocus();//Al presionar tabulador cambia el foco al boton aceptar
System.out.println("Hola mundo");
private void txtNombreKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyPressed
// Al presionar ENTER
if(evt.getKeyCode() == KeyEvent.VK_ENTER){
//Si la categoria supera la validacion la ingresa
if (validarCategoria()) {
try {
sys.altaCategoria(nuevaCategoria);
txtNombre.setText("");
cambiarColoresOK();
nuevaCategoria = "";
} catch (Exception e) {
JOptionPane.showMessageDialog(null, (String) e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE);
}
}
}
}//GEN-LAST:event_txtNombreKeyPressed
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment