Пример #1
0
  protected void processFocusEvent(FocusEvent e) {
    boolean lbContinuar = true;
    int id = e.getID();
    switch (id) {
      case FocusEvent.FOCUS_GAINED:
        super.setText(moTipo.getText());
        moBackColor = getBackground();
        setBackgroundP(moBackColorConFoco);
        setSelectionStart(0);
        setSelectionEnd(moTipo.getText().length());
        break;
      case FocusEvent.FOCUS_LOST:
        setBackgroundP(moBackColor);
        String lsTexto = super.getText();
        if (moTipo.isTipoCorrecto(lsTexto)) {
          moTipo.lostFocus(lsTexto);
          super.setText(moTipo.getTextFormateado());
        } else {
          lbContinuar = !moTipo.isTipoCorrectoObligatorio();
          if (lbContinuar) {
            moTipo.lostFocus(lsTexto);
            super.setText(moTipo.getTextFormateado());
          }

          utilesGUI.msgbox.JDialogo.showDialog(null, moTipo.getTextoError(lsTexto));
        }

        // anulamos la seleccion para que solo haya un campo con todo seleccionado
        if (lbContinuar) {
          setSelectionStart(0);
          setSelectionEnd(0);
          ponerColorSiCambio();
        }
        break;
      default:
    }
    super.processFocusEvent(e);
    // no se hace esto pq en windows se mete en un bucle infinito
    //        if(lbContinuar)
    //            super.processFocusEvent(e);
    //        else
    //            this.requestFocus();
  }
Пример #2
0
 /**
  * Devuelve si el texto que hay en el componente es del tipo correcto, según mlTipo
  *
  * @return si es correcto
  */
 public boolean isTipoCorrecto() {
   return moTipo.isTipoCorrecto(moTipo.getText());
 }