|
Buscador
Secciones
Otras zonas
Foros
Ganamos
Registro
|
Inicio > Tutoriales > Lenguajes orientados a objeto > Nuevo en Java > New 2 Java: Construir una Aplicación: 5.- Escribir Objetos a Ficheros, Usar Arrays y más...
|
| Sigue estos pasos... |
|---|
|
El resultado de la selección de usuario se asigna a la variable rb, que utilizaremos más tarde en otros métodos que utilizan la información.
Crear Métodos de Acceso PúblicoLa clase UIWestPanel crea las características GUI para que el usuario interactúe, pero con funcionalidad limitada. Poder recolectar la entrada del usuario desde estas características gráficas, proporciona un significado para que otras clases obtengan esta información y trabajen con los datos. Veamos, hasta ahora hemos declarado los campos con la palabra clave private para protegerlos de una corrupción intencionada o no intencionada. ¿Cómo puede la clase que vamos a crear recuperar los datos si estos se daclaran como private y por lo tanto no están disponibles? A través de métodos de acceso public.
Estos métodos, también conocidos como métodos get, proporcionan una forma para que otras clases puedan recuperar y trabajar con datos private. Con estos métodos get, definimos la instrucción de cómo se puede usar el dato de forma exacta, luego las otras clases llaman a los métodos públicos y recogen los datos sólo a través de los métodos que hemos proporcionado. Es como si dijéramos, "Puedes tener esta información particular, pero esto es todo lo que puedes hacer con ella", mientras protegemos el resto de los datos.
No hemos proporcionado la funcionalidad de los botones de esta clase UIWestPanel, para escribir el objeto en un fichero y para recuperarlo. En su lugar, inicializamos los botones en esta clase, y proporcionamos un método public para acceder a los botones desde la clase donde estámos proporcionando la funcionalidad, incluyendo los títulos de los botones.
Para crear el botón en esta clase y proporcionar la funcionalidad en otra, definimos un método accesor que sólo devuelve un objeto JButton. Entonces la otra clase llama a este método y obtiene un objeto JButton en el que puede definir la funcionalidad.
| Sigue estos pasos... |
|---|
|
La clase que hemos creado ahora puede acceder a estos botones a través de sus métodos de acceso public.
Acceder a la Entrada del UsuarioDespués de que usuario introduzca los datos en los campos de texto, seleccione los ítems de los menús y los botones de radio, e introduzca el texto en el area de texto, recoge los datos y los almacena. Afortunadamente, muchos componentes GUI heredan un método getText que devuelve un String para un nombre de botón, el texto introducido en un campo de texto, o ítem de menú o de lista que ha sido seleccionado.
Por ejemplo, en la documentación de la clase JButton, descubrirás que hereda el método getText de la clase AbstractButton, el cual devuelve el texto del botón, como un String.
Para saber qué botón se pulsó, usamos el identificador con el operador punto y llamamos al método getText:
button1.getText();
Por supuesto que necesitamos almacenar el resultado en una variable de algún tipo:
String result = button1.getText();
En el panel Log Dives, estamos recogiendo mucha información. Pero llamar al método getText y asignar el resultado a una variable por cada ítem, y luego escribir cada ítem en un fichero consumiría mucho tiempo. En su lugar, podemos llamar al método getText sobre cada ítem y almacenar el resultado de todos ellos en una variable usando un objeto Vector. El beneficio adicional de almacenar los datos en un Vector es que éste puede almacenar distintos tipos de datos, mientras que un array sólo permite objetos del mismo tipo de dato.
Otra clase necesita acceder a los resultados de las entradas del usuario, por eso necesitamos una definición de un método accesor public.
Definir el Método getUIFieldsDefinir un método accesor public para obtener los resultados de la entrada del usuario es una forma limpia de recoger los resultados. Como el método es public, se le puede llamar desde otra clase que necesite trabajar con los datos introducidos en esta clase.
Empecemos creando la cabecera del método, especificando que este método:
Dentro del cuerpo del método, definimos el Vector para almacenar los resultados. Un objeto java.util.Vector es similar a un array, pero puede contener una variedad de objetos. Al igual que los arrays, contiene componentes a los que se puede acceder usando un índice. Al contrario que los arrays, el tamaño de un Vector crece y disminuye según añadamos o eliminemos elementos. La única restricción con un Vector es que sólo puede contener objetos, no tipos primitivos. Para incluir tipos primitivos en un Vector, debemos usar una clase envoltura.
Para añadir objetos a un Vector simplemente llamamos al método add:
Vector record = new Vector(); String name = "John Doe"; Integer age = new Integer(20); record.add(name); record.add(age);
Llamamos al método getText de cada variable asociada con los campos de texto, los menús y los botones de radio, excepto para una variable:
private String s;Recuerda que esta es una variable del tipo String para referenciar los resultados de un menú desplegable. Esta variable se utilizó en el método actionPerformed, por eso el resultado ya está asignado a s. En este caso, sólo necesitamos incluir la variable en el método getUIFields para almacenar s en el vector.
| Sigue estos pasos... |
|---|
|
Observa que la última línea de código return fieldValues; devuelve el objeto Vector.
Contar InmersionesCada vez que se pulsa el botón Save, se llama al método getCount, y se incrementa la variable count usando el operador ++. Imprime el resultado en un JLabel, en este caso diveNumberL, llamando al método setText con el operador punto. Necesitaremos el valor de este String, por eso usamos el método valueOf y le pasamos la referencia count. Este método devuelve count:
public int getCount()
{
count++;
diveNumberL.setText(String.valueOf(count));
return count;
}
Calcular el Aire ConsumidoEl siguiente método define y calcula la unidad de aire que el usuario ha utilizado en una inmersión sustrayendo la cantidad de PSI que quedan en el tanque al final de la inmersión de la cantidad que había al principio. Luego, muestra el resultado con el método setText de la clase JLabel.
Para poder realizar las operaciones matemáticas con los strings que devuelven los métodos getText, necesitamos utilizar clases envoltura para obtener un int para cada resultado. Estos resultados se asignan respectivamente a beginAir y a endAir. El resultado final se asigna a psiUsed y se muestra en un JLabel.
Después de que el usuario introduzca la información y pulse Enter, el usuario puede borrar la información introducida o teclear nuevos datos. Sin embargo, una mejor solución es hacer que los campos se limpien automáticamente después de que los datos se hayan escrito en un fichero y se pulse el botón Enter. Las instrucciones para limpiar los datos se definen en un método, y se llama a este método después de el objeto se haya escrito en un fichero.
|
El método getText devuelve un String para un objeto.
¿Qué método se puede utilizar para borrar de los campos de texto y las etiquetas los strings que contienen? |
|---|
| Leer comentarios (27) | |
| Escribir comentario | |
| Puntuación: |
|
| Votar | |
| Recomendar este tutorial | |
| Estadísticas |
Copyright © 1999-2007
Programación en castellano.
Todos los derechos reservados.
Formulario de Contacto -
Datos legales -
Publicidad
Mantenida por: Claudio y
Dani.
Hospedaje web y servidores dedicados linux por Ferca Network
red internet: jugar gratis | amor | navidad 2009 | registro de dominios |
servidores dedicados
más internet: comprar | gratis | posicionamiento en buscadores | decoración libre | gifs animados