Actualizado el 28 de Julio del 2017 (Publicado el 14 de Enero del 2017)
2.217 visualizaciones desde el 14 de Enero del 2017
175,5 KB
9 paginas
Creado hace 17a (23/10/2007)
Paquete fundamentos
La entrada/salida de texto en Java es muy general y flexible, pero
compleja
• podemos usar clases que encapsulen las operaciones
El paquete fundamentos (no estándar) contiene las clases:
UNIVERSIDAD
DE CANTABRIA
- Lectura: Para leer datos desde una ventana
- Escritura: Para escribir resultados en una ventana
- Mensaje: Para escribir un texto sencillo en una ventana
- Grafica: Para hacer gráficas de x-y
- Menu: Para presentar varios botones en una ventana y saber cuál
es el que el usuario pulsa
- Dibujo: Proporciona ventana para dibujos e imágenes
- CajaTexto: Para leer texto multilínea
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
1
Lectura
UNIVERSIDAD
DE CANTABRIA
Crea una ventana con el título t
new Lectura (String t)
void creaEntrada(String e,double x) Crea una caja para leer un double
void creaEntrada(String e, int i)
void creaEntrada(String e,String s) Crea una caja para leer un String
void espera (String s)
void espera ()
Crea una caja para leer un int
void esperaYCierra (String s)
void esperaYCierra ()
double leeDouble (String e)
int leeInt (String e)
String leeString (String e)
void println (String)
Muestra un mensaje en su caso, y
espera a que el usuario teclee datos y
pulse aceptar
Igual que espera, pero además cierra
la ventana
Lee un double de la caja de etiqueta e
Lee un int de la caja con etiqueta e
Lee un String de la caja de etiqueta e
Muestra un String en la cabecera
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
2
Ejemplo
Hacer un programa para calcular la distancia entre dos puntos del
globo, y que acepte datos de entrada con Lectura:
UNIVERSIDAD
DE CANTABRIA
import fundamentos.*;
public class Dist {
public static void main(String[] args) {
double dist; // Kilometros
double lon1,lat1,lon2,lat2; // grados
// Puntos 1 y 2
Lectura pantalla = new Lectura("Círculo Máximo");
pantalla.creaEntrada("Latitud 1",0.0);
pantalla.creaEntrada("Longitud 1",0.0);
pantalla.creaEntrada("Latitud 2",0.0);
pantalla.creaEntrada("Longitud 2",0.0);
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
3
Ejemplo (cont.)
UNIVERSIDAD
DE CANTABRIA
pantalla.espera("Introduce coordenadas y pulsa Aceptar");
lat1=pantalla.leeDouble("Latitud 1");
lon1=pantalla.leeDouble("Longitud 1");
lat2=pantalla.leeDouble("Latitud 2");
lon2=pantalla.leeDouble("Longitud 2");
lat1=Math.toRadians(lat1);
lat2=Math.toRadians(lat2);
lon1=Math.toRadians(lon1);
lon2=Math.toRadians(lon2);
dist=Math.toDegrees(Math.acos(Math.sin(lat1)*
Math.sin(lat2)+
Math.cos(lat1)*Math.cos(lat2)*Math.cos(lon1-lon2)))*
60.0*1.852;
pantalla.println("La distancia es: "+dist+" Km");
}
}
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
4
Escritura
UNIVERSIDAD
DE CANTABRIA
new Escritura (String t)
void insertaValor (String e,double x) Crea una caja con la etiqueta y el
Crea una ventana con su título
void insertaValor(String e, int)
void insertaValor(String e,String s) Crea una caja con la etiqueta y el
valor
Crea una caja con la etiqueta y el
valor
valor
Espera a que el usuario pulse
aceptar, y cierra la ventana
void espera ()
En el ejemplo anterior, podríamos cambiar la última línea por:
Escritura res = new Escritura ("Círculo Máximo");
res.insertaValor("Distancia (Km)",dist);
res.espera();
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
5
Mensaje
new Mensaje ()
new Mensaje (String t)
void escribe(String m)
Ejemplo:
UNIVERSIDAD
DE CANTABRIA
Constructor que crea la ventana
Constructor que crea la ventana y le
pone título
Muestra el mensaje y espera a que se
pulse el botón OK
Mensaje mens = new Mensaje();
mens.escribe("Esto es un mensaje");
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
6
Grafica
UNIVERSIDAD
DE CANTABRIA
new Grafica ()
Constructor que crea la ventana con
títulos en blanco
Constructor alternativo que pone los
new Grafica (String titulo,
títulos de la ventana y los ejes X e Y
String tituloX, String tituloY)
void inserta (double x,double y) Inserta el punto (x,y) en la gráf. actual
Crea una nueva gráfica en la misma
void otraGrafica ()
ventana
Pinta todas las gráficas
Pone o quita la opción de mostrar la
gráfica con líneas entre cada punto
Pone o quita la opción de símbolos
en la gráfica actual
Pone el título de la gráfica actual
Pone el color de la gráfica actual
void pinta()
void ponLineas (boolean b)
void ponSimbolo (boolean b)
void ponTitulo (String t)
void ponColor (int c)
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
7
Ejemplo de creación de una gráfica
UNIVERSIDAD
DE CANTABRIA
Grafica g = new Grafica ("Valores","x","y");
// El primer grafico
g.ponSimbolo(true);
g.ponColor(Grafica.azul);
g.ponTitulo("graf1");
g.inserta(x1,y1);
g.inserta(x2,y2);
...
// El segundo grafico
g.otraGrafica();
g.ponColor(Grafica.rojo);
g.ponTitulo("graf2");
g.inserta(p1,q1);
g.inserta(p2,q2);
...
// Pintar las dos gráficas
g.pinta();
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
8
Menu
UNIVERSIDAD
DE CANTABRIA
new Menu (String t)
void insertaOpcion (String e,
int code)
int leeOpcion ()
int leeOpcion (String e)
void println (String s)
Constructor que crea la ventana con
su título
Crea un botón con la etiqueta y el
código numérico indicados
Espera a que el usuario pulse un
botón, y retorna el código numérico
del botón pulsado
Muestra un mensaje, espera a que el
usuario pulse un botón, y retorna el
código numérico del botón pulsado
Muestra un mensaje en la cabecera
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
9
Ejemplo con Menu
UNIVERSIDAD
DE CANTABRIA
Menu menu= new Menu("Prueba de Menu");
int op;
// prepara la lista de opciones
menu.insertaOpcion("Insertar libro",1);
menu.insertaOpcion("Borrar libro",2);
menu.insertaOpcion("Prestar libro",3);
menu.insertaOpcion("Consultar libro",4);
menu.insertaOpcion("Salir",5);
// espera a que el usuario elija una opción
op=menu.leeOpcion("Elige una opcion");
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
10
Dibujo
UNIVERSIDAD
DE CANTABRIA
new Dibujo (String titulo) Constructor que crea la ventana con su
título y tamaño 640x480
Constructor que crea la ventana con su
título y el tamaño indicado
Pinta el dibujo y espera que se pulse OK
Pone el color del lápiz con el que se pinta.
new Dibujo (String titulo,
int alto,int ancho)
void espera()
void ponColorLapiz
(ColorFig color)
void ponRelleno
(ColorFig color)
void ponLetra(int tamaño) Pone el tamaño de la letra del texto dibu-
Pone el color del relleno de las figuras
cerradas
jado
Borra el dibujo poniendo el fondo gris claro.
void borra()
void borra(ColorFig color) Borra el dibujo poniendo el fondo del color
indicado
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
11
UNIVERSIDAD
DE CANTABRIA
Operaciones de
dibujar.
Dibujo (cont.)
void dibujaTexto(String texto,
int xOrigen,int yOrigen)
void dibujaPunto(int x,int y)
void dibujaLinea(int xOrigen,int yOrigen,
int xDestino,int yDestino)
void dibujaLineas (int[] x,int[] y);
void dibujaRectangulo(int x1,int y1,
int x2, int y2)
void dibujaElipse(int x1,int y1,
int x2, int y2)
void dibujaArco(int x1,int y1,
int x2, int y2,int angulo1,int angulo2);
void dibujaPoligono(int[] x, int[] y)
void dibujaImagen(int xOrigen,int yOrigen,
String nombreFichero)
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
12
Colores disponibles
UNIVERSIDAD
DE CANTABRIA
Constantes estáti-
cas de la clase
ColorFig
ColorFig.negro
ColorFig.azul
ColorFig.grisOscuro
ColorFig.gris
ColorFig.verde
ColorFig.grisClaro
ColorFig.magenta
ColorFig.naranja
ColorFig.rosa
ColorFig.rojo
ColorFig.blanco
ColorFig.amarillo
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
13
Ejemplo de Dibujo
UNIVERSIDAD
DE CANTABRIA
Dibujo dib=new Dibujo
("Prueba de dibujo",480,300);
dib.borra(ColorFig.blanco);
dib.ponGrosorLapiz(4);
dib.ponColorLapiz(ColorFig.magenta);
dib.dibujaElipse(50,100,90,140);
dib.dibujaArco(50,200,90,240,-45,45);
dib.dibujaImagen(250,30,"mi-foto.jpg");
dib.espera();
//necesario para que se pinte la ventana
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
14
CajaTexto
UNIVERSIDAD
DE CANTABRIA
new CajaTexto (String s,
int filas,
int columnas)
void espera ()
boolean hayMas()
double leeDouble ()
int leeInt ()
String leeString ()
void avanzaLinea ()
Crea una ventana con el título s, y el tamaño
en caracteres indicado por filas y columnas
Espera a teclear datos y pulsar aceptar
Retorna un booleano indicando si hay mas
líneas por leer o no
Lee un double de la línea actual
Lee un int de la línea actual
Lee un String de la línea actual
Avanza a la siguiente línea
DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
© Michael González Harbour
23/oct/07
15
Ejemplo con una caja de texto
Este fragmento de código muestra en pantalla las líneas tecleadas
en una caja de texto
UNIVERSIDAD
DE CANTABRIA
// crea el objeto
CajaTexto caja = new CajaTexto ("Prueba de Caja de
Texto",20,50);
// espera a que el usuario teclee texto
caja.espera();
// lazo para mostr
Comentarios de: La entrada/salida de texto en Java es muy general y flexible, pero compleja (0)
No hay comentarios