79
2003 Prentice Hall, Inc. Todos los derechos reservados. 1 Capítulo 3 - Introducción a los applets de Java Contorno 3.1 Introducción 3.2 Los applets muestra del Kit de desarrollo de software Java 2 3.3 simple Java Applet: Drenaje de una cadena 3.4 Cuerdas y dibujar líneas 3.5 Adición de números en coma flotante 3.6 Java Applet Internet y la World Wide Web Recursos

3 Traduci Daxcv

Embed Size (px)

DESCRIPTION

xcvxcv

Citation preview

Page 1: 3 Traduci Daxcv

 2003 Prentice Hall, Inc. Todos los derechos reservados.

1

Capítulo 3 - Introducción a los applets de Java

Contorno 

3.1 Introducción

3.2 Los applets muestra del Kit de desarrollo de software Java 2

3.3 simple Java Applet: Drenaje de una cadena

3.4 Cuerdas y dibujar líneas

3.5 Adición de números en coma flotante

3.6 Java Applet Internet y la World Wide Web Recursos

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un

Planteamiento del problema

Page 2: 3 Traduci Daxcv

 2003 Prentice Hall, Inc. Todos los derechos reservados.

2

3.1 Introducción Applet Programa que se ejecuta en

appletviewer (utilidad de prueba para los applets)

Navegador Web (IE, Communicator)

Ejecuta cuando HTML (Hypertext Markup Language) documento que contiene applet se abrió y descargar

Las aplicaciones se ejecutan en ventanas de comandos

Notas Mimic varias características del capítulo 2 para reforzarlos

Page 3: 3 Traduci Daxcv

Centrarse en los conceptos fundamentales de programación primero

Explicaciones vendrán después

 2003 Prentice Hall, Inc. Todos los derechos reservados.

3

3.2 Los applets muestra del Kit de desarrollo de software Java 2

Los applets de ejemplo Ofrecido en Java 2 Software Development Kit (J2SDK)

El código fuente incluido (archivos .java)

Estudio y código fuente imitar para aprender nuevas características

Todos los programadores comienzan imitando programas

existentes

Situado en el directorio demo de J2SDK instalar

Page 4: 3 Traduci Daxcv

Puede descargar demos y J2SDK desde

java.sun.com/j2se/1.4.1/

 2003 Prentice Hall, Inc. Todos los derechos reservados.

4

3.2 Los applets muestra del Kit de desarrollo de software Java 2

Ejecución de applets En el símbolo del sistema, cambie a la demostración subdirectorio del subprograma

cd c: \ j2sdk1.4.1 \ demo \ applets

cd appletDirectoryName

Habrá un archivo HTML utilizado para ejecutar applets

Escriba appletviewer example1.html

Page 5: 3 Traduci Daxcv

appletviewer carga el archivo html especificada como argumento

de línea de comandos

Desde el archivo HTML, determina que applet para cargar (más la

sección 3.3)

Applet se ejecutará, Actualizar y Salir comandos en el menú Applet

 2003 Prentice Hall, Inc. Todos los derechos reservados.

5

3.2 Los applets muestra del Kit de desarrollo de software Java 2

Comienzas como jugador "X"Fig. Ejecución 3.2 Muestra de TicTacToe applet.

 2003 Prentice Hall, Inc. Todos los derechos reservados.

6

Page 6: 3 Traduci Daxcv

3.2 Los applets muestra del Kit de desarrollo de software Java 2

Fig. Ejecución 3.4 Muestra de DrawTest applet.

Arrastre el puntero del ratón en el área blanca para dibujar.

Seleccione el 

color de dibujo haciendo clic en el círculo para el color que desee. Estos componentes GUI son

comúnmente conocidos como botones de radio.

Seleccione la forma que desea dibujar haciendo clic en la flecha hacia abajo, a continuación,

en líneas o puntos. Este componente GUI se conoce comúnmente como un cuadro combinado, la

elección o de la lista desplegable.

 2003 Prentice Hall, Inc. Todos los derechos reservados.

7

3.2 Los applets muestra del Kit de desarrollo de software Java 2

Page 7: 3 Traduci Daxcv

Demuestra dibujo 2D capacidades integrado en Java2

Haga clic en una ficha para seleccionar un 

gráficos bidimensionales de demostración.

Trate de cambiar las opciones para ver su efecto en la manifestación.

 2003 Prentice Hall, Inc. Todos los derechos reservados.

8

3.3 simple Java Applet: Drenaje de una cadena Ahora, crear applets de nuestra propia Tómese un tiempo antes de que podamos escribir applets como en los demos

Cubra muchos de mismas técnicas

Programa Próxima Crear un applet para mostrar

"Bienvenido a la Programación Java!"

Page 8: 3 Traduci Daxcv

Mostrar applet y archivo HTML, luego discutirlas línea por línea

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

9

Applet de Java 

Page 9: 3 Traduci Daxcv

Program Salida 

1 // Fig. 3.6: WelcomeApplet.java

2 // Un primer applet en Java.

3

4 // paquetes Java

5 java.awt.Graphics importación; // clase Graphics importación

Page 10: 3 Traduci Daxcv

6 javax.swing.JApplet importación; // clase importación JApplet

7

8 public class WelcomeApplet extiende JApplet {

9

10    // Dibujar texto en el fondo del applet 's

11    public void paint (Graphics g)

12 {

13 // llamada versión de la superclase del método paint

14       súper .paint (g);

15                                                             

16 // dibujar una cadena en la coordenada x 25 y coordenada y 25

17 g.drawString ("Welcome to Java Programming!", 25, 25);

18                                                             

19} // método paint final

Page 11: 3 Traduci Daxcv

20

21} // fin de la clase WelcomeApplet

import nos permite utilizar clases predefinidas (que nos permite utilizar applets y gráficos, en este

caso).

extiende nos permite heredar las capacidades de clase JApplet.

Pintura Método está garantizado para ser llamado en todos los subprogramas. Su primera línea debe

ser definido como anteriormente.

 2003 Prentice Hall, Inc. Todos los derechos reservados.

10

3.3 simple Java Applet: Drenaje de una cadena Comentarios

Nombre del código fuente y la descripción de applet de

Importe las clases predefinidas agrupan en paquetes

Page 12: 3 Traduci Daxcv

declaraciones de importación dicen compilador dónde ubicar clases

utilizadas

Al crear applets, importar la clase JApplet (paquete javax.swing)

importar la clase Graphics (paquete java.awt) para dibujar gráficos

Puede dibujar líneas, rectángulos, óvalos cadenas de caracteres

importación especifica la estructura de directorios

5 java.awt.Graphics importación; // clase Graphics importación

6 javax.swing.JApplet importación; // clase importación JApplet

1 // Fig. 3.6: WelcomeApplet.java

2 // Un primer applet en Java.

 2003 Prentice Hall, Inc. Todos los derechos reservados.

11

3.3 simple Java Applet: Drenaje de una cadena

Page 13: 3 Traduci Daxcv

Los applets tienen al menos una declaración de la clase (como aplicaciones)

Rara vez crear clases a partir de cero

Utilice piezas de clases existentes

Herencia - crear nuevas clases a partir de las antiguas (Ch. 9)

Comienza declaración de clase para la clase WelcomeApplet

Clase Palabra clave entonces nombre de la clase

extiende seguido del nombre de la clase

Indica la clase de extender (JApplet)

JApplet: superclase (clase base)

WelcomeApplet: subclase (clase derivada)

WelcomeApplet ahora tiene métodos y datos de JApplet

8 public class WelcomeApplet extiende JApplet {

 2003 Prentice Hall, Inc. Todos los derechos reservados.

Page 14: 3 Traduci Daxcv

12

3.3 simple Java Applet: Drenaje de una cadena Clase JApplet define para nosotros

Alguien más definido "lo que significa ser un applet"

Los applets requieren más de 200 métodos!

extiende JApplet

Heredar métodos, no tienen que declarar a todos

No es necesario conocer todos los detalles de clase JApplet

8 public class WelcomeApplet extiende JApplet {

 2003 Prentice Hall, Inc. Todos los derechos reservados.

13

3.3 simple Java Applet: Drenaje de una cadena Clase WelcomeApplet es un anteproyecto

Page 15: 3 Traduci Daxcv

appletviewer o el navegador crea un objeto de

clase WelcomeApplet

Requiere público palabra clave

File sólo puede tener una clase pública

nombre de la clase pública debe ser el nombre del archivo

8 public class WelcomeApplet extiende JApplet {

 2003 Prentice Hall, Inc. Todos los derechos reservados.

14

3.3 simple Java Applet: Drenaje de una cadena Nuestra clase hereda el método de pintura de JApplet

Por defecto, la pintura tiene cuerpo vacío

Override (redefinen) pintura en nuestra clase

Métodos pintan, init, y el inicio

Garantizado para ser llamado de forma automática

Page 16: 3 Traduci Daxcv

Nuestra subprograma consigue versión "libre" de estos heredando

de JApplet

Versiones libres tienen cuerpo vacío (no hacer nada)

Cada subprograma no necesita los tres métodos

Anulación de los que necesita

Contenedor de applets "dibuja a sí mismo" llamando al método de pintura

11    public void paint (Graphics g)

 2003 Prentice Hall, Inc. Todos los derechos reservados.

15

3.3 simple Java Applet: Drenaje de una cadena Pintura Método

Líneas 11-19 son la declaración de pintura

Dibuja gráficos en pantalla

Page 17: 3 Traduci Daxcv

void indica retornos de pintura nada cuando tarea acabados

Paréntesis definir la lista de parámetros - donde los métodos

reciben datos para realizar tareas

Normalmente, los datos pasan por el programador, como

en JOptionPane.showMessageDialog

pintura obtiene parámetros de forma automática

Gráficos objeto utilizado por la pintura

Pintura Mimic 's primera línea

11    public void paint (Graphics g)

 2003 Prentice Hall, Inc. Todos los derechos reservados.

16

3.3 simple Java Applet: Drenaje de una cadena Pide versión del método paint de la superclase JApplet

Page 18: 3 Traduci Daxcv

En caso de ser la primera declaración en el método de pintura cada 's subprograma Cuerpo de pintura Método drawString (De clase Graphics)

Llamado a través de Gráficos objeto gy punto (.)

Nombre de método, entonces Paréntesis con argumentos

Primer argumento: String para dibujar

Segundo: coordenada x (en píxeles) ubicación

Tercero: la coordenada (en píxeles) ubicación

Java sistema de coordenadas Se mide en píxeles (elementos de imagen)

Arriba a la izquierda es (0, 0)

14       súper .paint (g);

17 g.drawString ("Welcome to Java Programming!", 25, 25);

 2003 Prentice Hall, Inc. Todos los derechos reservados.

Page 19: 3 Traduci Daxcv

17

3.3 simple Java Applet: Drenaje de una cadena La ejecución del subprograma Compilar

javac WelcomeApplet.java

Si no hay errores, códigos de bytes almacenados

en WelcomeApplet.class

Cree un archivo HTML

Carga el applet en el appletviewer o un navegador

Finaliza en .htm o .html

Para ejecutar un applet

Cree un archivo HTML que indica que el applet de navegador

(o visor de applets) se debe cargar y ejecutar

 2003 Prentice Hall, Inc. Todos los derechos reservados.

Page 20: 3 Traduci Daxcv

18

3.3 simple Java Applet: Drenaje de una cadena Archivo HTML simple (WelcomeApplet.html)

Por lo general, en mismo directorio que el archivo .class

Recuerde, archivo .class creado después de la compilación

Códigos HTML (etiquetas)

Por lo general vienen en pares

Comience con <y terminan con>

Las líneas 1 y 4 - empezar y terminar las etiquetas HTML

Línea 2 - comienza etiqueta <applet>

Especifica el código a utilizar para subprograma

Especifica la anchura y la altura del área de visualización en píxeles

Línea 3 - extremos etiqueta <applet>

Page 21: 3 Traduci Daxcv

1 <html>

2 <applet code = "WelcomeApplet.class" width = altura "300" = "45">

3 </ applet>

4 </ html>

 2003 Prentice Hall, Inc. Todos los derechos reservados.

19

3.3 simple Java Applet: Drenaje de una cadena appletviewer sólo entiende etiquetas <applet>

Ignora todo lo demás

Navegador Minimal

Ejecutar el Applet

appletviewer WelcomeApplet.html

Realizar en el directorio que contiene el archivo .class

1 <html>

Page 22: 3 Traduci Daxcv

2 <applet code = "WelcomeApplet.class" width = altura "300" = "45">

3 </ applet>

4 </ html>

 2003 Prentice Hall, Inc. Todos los derechos reservados.

20

3.3 simple Java Applet: Drenaje de una cadena Ejecución del applet en un navegador Web

 2003 Prentice Hall, Inc. Todos los derechos reservados.

21

3.4 Cuerdas y dibujar líneas Más applets Primer ejemplo

Muestra dos líneas de texto

Page 23: 3 Traduci Daxcv

Utilice drawString para simular una nueva línea con dos

declaraciones drawString

Segundo ejemplo

Método g.drawLine (x1, y1, x2, y2)

Dibuja una línea desde (x1, y1) hasta (x2, y2)

Recuerde que (0, 0) es superior izquierdo

Utilice drawLine para dibujar una línea por debajo y por encima de

una cadena

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

22

1 // Fig. 3.9: WelcomeApplet2.java

2 // La presentación de varias cadenas en un applet.

Page 24: 3 Traduci Daxcv

3

4 // paquetes Java

5 java.awt.Graphics importación; // clase Graphics importación

6 javax.swing.JApplet importación; // clase importación JApplet

7

8 public class WelcomeApplet2 extiende JApplet {

9

10 // dibujar texto en el fondo del applet 's

11    public void paint (Graphics g)

12 {

13 // llamada versión de la superclase del método paint

14       súper .paint (g);

15

Page 25: 3 Traduci Daxcv

16 // dibujar dos cadenas en diferentes lugares

17 g.drawString ("Bienvenido a", 25, 25);

18 g.drawString ("Java Programming!", 25, 40);

19

20} // método paint final

21

22} // fin de la clase WelcomeApplet2

WelcomeApplet2.java 

1. importación 

2. Clase WelcomeApplet2 (se extiende JApplet) 

3. pintura 

Page 26: 3 Traduci Daxcv

3.1 drawString 

3.2 drawString 

sobre la misma coordenada x, pero 15 píxeles hacia abajo 

Las dos declaraciones drawString simulan una nueva línea. De hecho, el concepto de líneas de texto

no existe en la elaboración de cuerdas.

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Page 27: 3 Traduci Daxcv

Contorno

23

Archivo HTML 

Program Salida

1 <html>

2 <applet code = "width WelcomeApplet2.class" = "300" height = "60">

3 </ applet>

Page 28: 3 Traduci Daxcv

4 </ html>

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

24

WelcomeLines.java 

2. WelcomeLines clase (se extiende JApplet) 

3. pintura 

3.1 drawLine 

3.2 drawLine 

Page 29: 3 Traduci Daxcv

3.3 drawString 

Program Salida

1 // Fig. 3,11: WelcomeLines.java

2 // Viendo texto y líneas

3

4 // paquetes Java

5 java.awt.Graphics importación; // clase Graphics importación

Page 30: 3 Traduci Daxcv

6 javax.swing.JApplet importación; // clase importación JApplet

7

8 WelcomeLines clase pública se extiende JApplet {

9

10 // líneas de dibujo y una cadena en el fondo del subprograma

11    public void paint (Graphics g)

12 {

13 // llamada versión de la superclase del método paint

14       súper .paint (g);

15

16 // dibujar línea horizontal a partir de (15, 10) a (210, 10)

17 g.drawLine (15, 10, 210, 10);

18

Page 31: 3 Traduci Daxcv

19 // dibujar la línea horizontal desde (15, 30) a (210, 30)

20 g.drawLine (15, 30, 210, 30);

21

22 // dibujar cadena entre líneas en la posición (25, 25)

23 g.drawString ("Welcome to Java Programming!", 25, 25);

24

25} // método paint final

26

27} // fin de la clase WelcomeLines

Dibujar líneas horizontales con drawLine (puntos finales tienen la misma coordenada y).

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

25

Page 32: 3 Traduci Daxcv

Archivo HTML 

1 <html>

2 <applet code = "WelcomeLines.class" width = altura "300" = "40">

3 </ applet>

4 </ html>

 2003 Prentice Hall, Inc. Todos los derechos reservados.

26

3.4 Cuerdas y dibujar líneas

Page 33: 3 Traduci Daxcv

Método drawLine de Gráficos de clase Toma como argumentos Gráficos objeto y el punto final de la línea 's

Coordenadas X e Y del primer punto final

Coordenadas X e Y del segundo punto final

 2003 Prentice Hall, Inc. Todos los derechos reservados.

27

3.5 Adición de números en coma flotante Siguiente subprograma Aplicación imita para sumar dos números enteros (Fig 2.9)

Esta vez, el uso de números de punto flotante (números con punto

decimal)

El uso de tipos primitivos

doble - los números de coma flotante de doble precisión

Page 34: 3 Traduci Daxcv

flotador - números de punto flotante de precisión simple

Mostrar programa, y luego discutir

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

28

AdditionApplet.java 

1. importación 

2. Clase AdditionApplet (se extiende JApplet) 

3. Campos 

Page 35: 3 Traduci Daxcv

4. init 

4.1 Declarar variables 

4.2 showInputDialog 

4.3 parseDouble 

2 // Adición de dos números de punto flotante

3 java.awt.Graphics de importación; // clase Graphics importación

5

6 AdditionApplet clase pública se extiende JApplet {

7 suma doble; // Suma de los valores introducidos por el usuario

8

9 public void init ()

Page 36: 3 Traduci Daxcv

10 {

11 Cadena FirstNumber, // primera cadena introducida por el usuario

12 secondNumber; // Segunda cadena introducida por el usuario

13 doble número1, // primer número que desea añadir

14 número2; // Segundo número que desea añadir

15

16 // leer en primer número de usuario

17 FirstNumber =

18 JOptionPane.showInputDialog (

19 "Enter primer valor de coma flotante");

20

21 // leer en segundo número del usuario

22 secondNumber =

23 JOptionPane.showInputDialog (

Page 37: 3 Traduci Daxcv

24 "Enter segundo valor de punto flotante");

25

1 // Fig. 3.13: AdditionApplet.java

2 // Adición de dos números de punto flotante.

3

4 // paquetes Java

5 java.awt.Graphics importación; // clase Graphics importación

Javax.swing 6 importación. *; // Paquete importación javax.swing

7

8 AdditionApplet clase pública se extiende JApplet {

9    suma doble; // suma de valores introducidos por el usuario

10

11    // Inicializar subprograma mediante la obtención de los valores de usuario

Page 38: 3 Traduci Daxcv

12    public void init ()

13 {

14 Cadena FirstNumber; // primera cadena introducida por el usuario

15 Cadena secondNumber; // segunda cadena introducida por el usuario

16

17       doble número1; // primer número que desea añadir

18       doble número2; // segundo número que desea añadir

19

20 // obtener primero el número de usuario

21 FirstNumber = JOptionPane.showInputDialog (

22          "Enter primer valor de coma flotante");

23

24 // obtener el segundo número del usuario

Page 39: 3 Traduci Daxcv

25 secondNumber = JOptionPane.showInputDialog (

26        "Enter segundo valor de punto flotante");

27

28 // convertir números de tipo String al tipo doble

29 número1 = Double.parseDouble (FirstNumber);

30 número2 = Double.parseDouble (secondNumber);

31

* Permite a cualquier clase en el paquete que se utilizará.

Suma campo puede utilizarse en cualquier lugar en la clase, incluso en otros métodos.

Escriba doble puede almacenar números de coma flotante.

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

29

Page 40: 3 Traduci Daxcv

5. contenido del applet Draw 

5.1 Dibuje un rectángulo 

5.2 Dibuje los resultados 

Archivo HTML

Page 41: 3 Traduci Daxcv

31 // agregar los números

32 suma = número1 + número2;

33}

34

35 public void paint (Graphics g)

36 {

37 // Dibuja los resultados con g.drawString

38 g.drawRect (15, 10, 270, 20);

39 g.drawString ("La suma es" + suma, 25, 25);

40}

41}

1 <html>

2 <applet code = "width AdditionApplet.class" = 300 altura = 50>

3 </ applet>

Page 42: 3 Traduci Daxcv

4 </ html>

32 // añadir números

33 suma = número1 + número2;

34

35} // fin del método init

36

37   // Dibujar los resultados en un rectángulo en el fondo del applet 's

38    public void paint (Graphics g)

39 {

40 // llamada versión de la superclase del método paint

41       súper .paint (g);

42

43 // dibujar rectángulo a partir de (15, 10) es de 270

Page 43: 3 Traduci Daxcv

44 // píxeles de ancho por 20 píxeles de alto

45 g.drawRect (15, 10, 270, 20);

46

47 // dibujar resultados como una cadena en (25, 25)

48 g.drawString ("La suma es" + suma, 25, 25);

49

50} // método paint final

51

52} // fin de la clase AdditionApplet

1 <html>

2 <applet code = "AdditionApplet.class" width = altura "300" = "65">

3 </ applet>

4 </ html>

Page 44: 3 Traduci Daxcv

drawRect toma la parte superior izquierda de coordenadas, anchura y altura del rectángulo para

dibujar.

 2003 Prentice Hall, Inc. 

Todos los derechos reservados.

Contorno

30

Program Salida 

 2003 Prentice Hall, Inc. Todos los derechos reservados.

31

3.5 Adición de números en coma flotante Líneas 1-2: Comentarios

Línea 5: Gráficos de clase importación s

importación no es necesario si el uso de paquete completo y

nombre de la clase

Page 45: 3 Traduci Daxcv

public void paint (java.awt.Graphics g)

Línea 8: especificar toda paquete javax.swing

* Indica todas las clases en javax.swing están disponibles

Incluye JApplet y JOptionPane

Utilice JOptionPane lugar de javax.swing.JOptionPane

* No no no cargar todas las clases

Compilador sólo carga las clases que utiliza

5 java.awt.Graphics importación; // clase Graphics importación

Javax.swing 6 importación. *; // Paquete importación javax.swing

 2003 Prentice Hall, Inc. Todos los derechos reservados.

32

3.5 Adición de números en coma flotante Comience declaración de la clase

Extienda JApplet, ed importación de paquete javax.swing

Page 46: 3 Traduci Daxcv

Declaración del campo

Cada objeto de la clase se copia propia del campo

Métodos declarados en el interior del cuerpo de la clase, pero no

Las variables declaradas en métodos son variables locales

Sólo se puede usar en el cuerpo del método

Los campos que se pueden utilizar en cualquier lugar en la clase

Tener valor por defecto (0,0 en este caso)

8 AdditionApplet clase pública se extiende JApplet {

9    suma doble; // suma de valores introducidos por el usuario

 2003 Prentice Hall, Inc. Todos los derechos reservados.

33

3.5 Adición de números en coma flotante Tipo Primitivo doble

Se utiliza para almacenar con coma flotante (decimales) números

Page 47: 3 Traduci Daxcv

Init Método

Normalmente inicializa campos y clase del applet

Garantizado para ser primer método llamado en el applet

Primera línea debe aparecer siempre que el anterior

No devuelve nada (void), no tiene argumentos

Empieza cuerpo del método init

9    suma doble; // suma de valores introducidos por el usuario

12    public void init ()

13 {

 2003 Prentice Hall, Inc. Todos los derechos reservados.

34

3.5 Adición de números en coma flotante Declarar variables

Dos tipos de variables

Page 48: 3 Traduci Daxcv

Las variables de referencia (llamados referencias)

Consulte objetos (contener la ubicación en la memoria)

Objetos definidos en una definición de clase

Puede contener múltiples datos y métodos

pintura recibe una referencia llamada g de un objeto Graphics

Referencia utilizado para llamar a métodos en el objeto

Graphics

Los tipos primitivos (llamadas variables)

Contener un dato

14 Cadena FirstNumber; // primera cadena introducida por el usuario

15 Cadena secondNumber; // segunda cadena introducida por el usuario

16

17       doble número1; // primer número que desea añadir

18       doble número2; // segundo número que desea añadir

Page 49: 3 Traduci Daxcv

 2003 Prentice Hall, Inc. Todos los derechos reservados.

35

3.5 Adición de números en coma flotante Referencias distintivas y variables

Si el tipo es un nombre de clase, después hacer referencia

La cadena es una clase

FirstNumber, secondNumber

Si escriba un tipo primitivo, entonces la variable

doble es un tipo primitivo

número1, número2

14 Cadena FirstNumber; // primera cadena introducida por el usuario

15 Cadena secondNumber; // segunda cadena introducida por el usuario

16

17       doble número1; // primer número que desea añadir

Page 50: 3 Traduci Daxcv

18       doble número2; // segundo número que desea añadir

 2003 Prentice Hall, Inc. Todos los derechos reservados.

36

3.5 Adición de números en coma flotante Método JOptionPane.showInputDialog Pide al usuario para la entrada con una cuerda

Introduzca el valor en el campo de texto, haga clic en Aceptar

Si no es del tipo correcto, se produce un error

En el capítulo 15 aprender a lidiar con este

Devuelve entradas de usuario cadena

Instrucción de asignación de cadena

Líneas 25-26: Igual que el anterior, asigna entrada a secondNumber

21 FirstNumber = JOptionPane.showInputDialog (

Page 51: 3 Traduci Daxcv

22          "Enter primer valor de coma flotante");

 2003 Prentice Hall, Inc. Todos los derechos reservados.

37

3.5 Adición de números en coma flotante método estático Double.parseDouble

Convierte argumento String a una doble

Devuelve el valor doble

Recuerde sintaxis método estático

ClassName.methodName (argumentos)

Sentencia de asignación

resumir un campo, puede utilizar en cualquier lugar en la clase

No está definido en init pero todavía usado

33 suma = número1 + número2;

29 número1 = Double.parseDouble (FirstNumber);

Page 52: 3 Traduci Daxcv

30 número2 = Double.parseDouble (secondNumber);

 2003 Prentice Hall, Inc. Todos los derechos reservados.

38

3.5 Adición de números en coma flotante Finaliza método init

appletviewer (o navegador) llama heredado método start

empezar por lo general se utiliza con multithreading

Concepto avanzado, en el capítulo 16

Nosotros no declaramos, declaración tan vacío en JApplet

utilizado

Siguiente, el método de pintura de llama

Método drawRect (x1, y1, ancho, alto)

Dibujar rectángulo, esquina superior izquierda (x1, y1), anchura y

altura especificados

Page 53: 3 Traduci Daxcv

Línea 45 dibuja rectángulo de partida al (15, 10) con una anchura

de 270 píxeles y una altura de 20 pixeles

35} // fin del método init

45 g.drawRect (15, 10, 270, 20);

 2003 Prentice Hall, Inc. Todos los derechos reservados.

39

3.5 Adición de números en coma flotante Envía mensajes drawString (llamadas a métodos) a objeto Graphics utilizando referencia g

"La suma es" + suma - concatenación de cadenas

suma convierte en una cadena

suma puede ser utilizado, incluso aunque no se define en la pintura

campo, se puede utilizar en cualquier lugar en la clase

Variables no locales

Page 54: 3 Traduci Daxcv

48 g.drawString ("La suma es" + suma, 25, 25);

 2003 Prentice Hall, Inc. Todos los derechos reservados.

40

3.6 Java Applet Internet y la World Wide Web Recursos

Muchos recursos del applet de Java disponibles java.sun.com/applets/

Muchos recursos y applets gratuitas

Tiene applets de demostración de J2SDK

Sun sitio developer.java.sun.com/developer

El soporte técnico, foros de discusión, formación, artículos,

enlaces, etc.

Se requiere su registro

www.jars.com

Page 55: 3 Traduci Daxcv

Precios applets, superior 1, 5 y 25 por ciento

Ver mejores applets en la web

 2003 Prentice Hall, Inc. Todos los derechos reservados.

41

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un Planteamiento del

problema La identificación de clases en un Sistema Sustantivos de sistema para ejecutar la simulación ascensor

 2003 Prentice Hall, Inc. Todos los derechos reservados.

42

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un Planteamiento del

problema

Page 56: 3 Traduci Daxcv

No todos los nombres se refieren al modelo (no resaltado) Empresa y la construcción no es parte de la simulación

Pantalla, audio y música de ascensor se refieren a la presentación

GUI, el usuario de la aplicación, primer y segundo botón del piso

Cómo modelo de controles de usuario único

Capacidad del ascensor sólo una propiedad

Conservación de la energía no modeló

La simulación es el sistema de

Ascensor y cabina del ascensor son mismas referencias

Sistema de ascensor desprecio por ahora

 2003 Prentice Hall, Inc. Todos los derechos reservados.

43

Page 57: 3 Traduci Daxcv

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un Planteamiento del

problema Sustantivos resaltados que se ejecutarán en el sistema Botón del ascensor y de botón suelo funciones separadas

Capitalizar nombres de clase

Cada palabra separada en nombre de la clase también capitalizó

ElevatorShaft, Ascensor, persona, piso, ElevatorDoor, FloorDoor,

ElevatorButton, FloorButton, Bell, y Luz

 2003 Prentice Hall, Inc. Todos los derechos reservados.

44

Page 58: 3 Traduci Daxcv

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un Planteamiento del

problema Usando UML para modelar sistema de ascensor Clase Diagramas de modelos de clases y relaciones

Bloques Modelo estructura / edificio de sistema

Representando Ascensor clase usando UML Top rectángulo es nombre de la clase

Medio contiene atributos de clase '

Bottom contiene «operaciones de claseElevador

 2003 Prentice Hall, Inc. Todos los derechos reservados.

45

Page 59: 3 Traduci Daxcv

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un Planteamiento del

problema Asociaciones de clase usando UML Diagrama elidido

Los atributos de clase y las operaciones ignorado

Relación de clase entre ElevatorShaft, Ascensor y FloorButton

La línea continua es una asociación o relación entre las clases

Números cerca de líneas expresan valores de multiplicidad

Indique cuántos objetos de clase participar asociaciónSolicitudes

1

1

1

2

2

Page 60: 3 Traduci Daxcv

ElevatorShaft

FloorButton

Elevador

1

Restablece

Signalsarrival

 2003 Prentice Hall, Inc. Todos los derechos reservados.

46

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un Planteamiento del

problema El diagrama muestra dos objetos de la clase FloorButton

participan en asociación con un objeto deElevatorShaft

FloorButton tiene de dos a uno con relación ElevatorShaft

 2003 Prentice Hall, Inc. Todos los derechos reservados.

Page 61: 3 Traduci Daxcv

47

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un Planteamiento del

problema Las asociaciones pueden ser nombrados

En el diagrama, "Solicitudes", indica la asociación y la flecha

indica la dirección de la asociación

Un objeto de FloorButton solicita un objeto de la

clase Ascensor

Contexto similar con "Restablece" y "Señales de llegada"

Relación de acumulación

Implica relación todo / parte

Algunos objeto "tiene" algún objeto

Objeto adjunta con el diamante es "dueño"

Page 62: 3 Traduci Daxcv

Objeto en el otro extremo es la "parte"

En el diagrama, hueco del ascensor "tiene un" y dos botones de

piso ascensor

 2003 Prentice Hall, Inc. Todos los derechos reservados.

48

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un Planteamiento del

problemaFig. Diagrama 3,23 Clase para el modelo de ascensor.1

1

1

1

2

2

1

1

Page 63: 3 Traduci Daxcv

1

1

1

1

1

1

1

2

1

1

1

1

1

Persona

FloorDoor

Luz

Piso

ElevatorShaft

FloorButton

ElevatorDoor

Elevador

Page 64: 3 Traduci Daxcv

ElevatorButton

Campana

Solicitudes

Prensas

Prensas

Rides

Señales para mover

Restablece

Restablece

Camina a través de

Abre

Abre

1

Anillos

Activa / desactiva

Signalsarrival

1

1

1

Page 65: 3 Traduci Daxcv

1

pasajero

 2003 Prentice Hall, Inc. Todos los derechos reservados.

49

3.7 (Ejemplo práctico opcional) Acerca de los objetos: Identificar las clases en un Planteamiento del

problema El diagrama de clases completo para el modelo de ascensor Varios de muchos y agregados

Ascensor es la agregación de ElevatorDoor, ElevatorButton y Bell

Varios de muchas asociaciones

Persona botones "prensas"

Persona también "paseos" Ascensor y "camina" a través del piso