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(); }
/** * Establece el valor del text y el valor original, para lo del cambio de color si cambia * * @param poValor valor */ public void setValueTabla(final Object poValor) { String lsValor; if (poValor == null) { lsValor = ""; } else { lsValor = poValor.toString(); } moTipo.setText(lsValor); moTipo.setTextOriginal(moTipo.getText()); super.setText(moTipo.getTextFormateado()); }
public void setText(final String t) { moTipo.setText(t); super.setText(moTipo.getTextFormateado()); }