DataInputContainer y CoordDataInputContainer
Campo de texto para controlar el tipo de datos introducido y extensión de su utilización.
**DataInputContainer** Esta clase extiende de JPanel e implementa FocusListener y KeyListener. El objetivo es crear un panel con un JTextField que detecte que el tipo de carácteres introducidos sea numérico o alfanumérico. Para ello implementa una serie de métodos para controlarlo. Existe un método, como se verá en el ejemplo, que permite cambiar de un formato de carácter permitido a otro. La clase incorpora una etiqueta asociada al campo de texto que por defecto es "JLabel:". A cotinuación se muestra una imagen del campo de texto. .. figure:: imagenes/DataInputContainer1.JPG :align: center Imagen de un ejemplo de utilización de la clase DataInputContainer. Un ejemplo de utilización de la clase es el siguiente. Creamos el objeto DataInputContainer .. code-block:: java DataInputContainer data = new DataInputContainer(); Establecemos que solo acepte carácteres numéricos .. code-block:: java data.setCaracter(false); Añadimos la etiqueta y establecemos el tamaño que deseamos que tenga el TextField .. code-block:: java data.setLabelText("Prueba"); data.setPreferredSize(new Dimension(100,25)); Añadimos el TextField al frame creado para el ejemplo .. code-block:: java frame.getContentPane().add(p); **CoordDataInputContainer** Una extensión de esta clase es "CoordDataInputContainer" que consta de cuatro DataInputContainer en un panel con disposición BordeLayout. La clase contiene los métodos para manipulación de los valores que se introducen (set y get). Al ser cuatro DataInputContainer se puede establecer si deseamos que sean carácteres numéricos o alfanuméricos. Además permite etiquetar los componentes de dos en dos mediante unos iconos. Existe un método que permite etiquetar los TextFields, el "border" que incluye y dos etiquetas identificativas para cada par de componentes. A continuación se expone un ejemplo. Se incluye una imagen de muestra. .. figure:: imagenes/CoordDataInputContainer1.JPG :align: center CoordDataInputContainer. El código necesario para crear esta clase es el siguiente. Constructor .. code-block:: java CoordDataInputContainer coord = new CoordDataInputContainer(); Establecemos los parámetros del panel, nombre para el "border", para cada componente y para cada par de componentes .. code-block:: java coord.setParameters("Coordenadas pixel", "Sup.Izq", "X","Y","Inf.Der","X","Y"); Establecemos que tipo de valores queremos que acepten los campos de texto .. code-block:: java coord.setDecimalValues(true); coord.setCaracterValues(false); Por último, lo añadimos al frame .. code-block:: java frame.getContentPane().add(coord);