El lenguaje de programacin Java - PowerPoint PPT Presentation

1 / 68
About This Presentation
Title:

El lenguaje de programacin Java

Description:

double. 4 bytes (entre 6 y 7 cifras decimales equivalentes) ... double pi = 3.14159; // Un elemento de tipo real de doble //precisi n. ... – PowerPoint PPT presentation

Number of Views:365
Avg rating:3.0/5.0
Slides: 69
Provided by: universida52
Category:

less

Transcript and Presenter's Notes

Title: El lenguaje de programacin Java


1
El lenguaje de programación Java
Pedro Rodríguez Moreno Paradigmas de Programación
(ICI/IECI) Departamento de Sistemas de
Información Facultad de Ciencias Empresariales
2
Introducción a Java
3
Introducción
  • Java es una plataforma virtual que provee
  • Un lenguaje de programación (OO).
  • La Java Virtual Machine (JVM) Una máquina
    virtual con su propio set de instrucciones.
  • La Java Plataform API (Application Programming
    Interface) Una interfaz para la programación de
    aplicaciones.

4
Qué es Java?
  • De acuerdo a Sun Microsystem
  • Java es un lenguaje simple, orientado a
    objetos, distribuído, interpretado, robusto,
    seguro, arquitectura neutral, portable, de
    alta-performance, multithread (multihilo), y
    dinámico.
  • Java es muy parecido a C/C pero hay varias
    diferencias importantes.

5
Estructura de un Programa
  • Un programa en Java consiste de uno o más
    definiciones de clases. Una de estas clases debe
    definir un método main(), desde donde el programa
    comienza a correr
  • // A Java Hello World Program
  • public class HelloWorld
  • public static void main( String args )
  • System.out.println( "Hello World" )

6
Entorno de Java
  • SDK (Software Development Kit)
  • Necesario para crear (desarrollar y compilar)
    programas
  • JRE (Java Runtime Environment)
  • Necesario para ejecutar un programa Java
  • SDK JRE herramientas de desarrollo
  • La tecnología Java se organiza en subáreas
  • J2SE (Java 2 Platform, Standard Edition)
  • J2EE (Java 2 Platform, Enterprise Edition)
  • SDK soporte para servicios web y componentes
  • J2ME (Java 2 Platform, Micro Edition) entorno
    flexible y robusto para aplicaciones que
    funcionan en dispositivos tales como teléfonos
    móviles, PDA,
  • Java Web Services aplicaciones basadas en la web
    que utiliza estándar XML y protocolos de
    transporte para intercambiar datos con los
    clientes que le invocan.
  • Recursos en http//java.sun.com.

7
Compilación y ejecución en la línea de comandos
  • Compilación
  • En Unix/Linux
  • javac -classpath . nombre_archivo.java
  • En Windows
  • C\javac -classpath . nombre_archivo.java
  • Ejecución
  • En Unix/Linux
  • java -classpath . nombre_archivo argumentos
  • En Windows
  • C\java -classpath . nombre_archivo
    argumentos
  • nombre_archivo.java es un archivo de texto que
    contiene la clase principal (clase que contiene
    el método main)
  • public static void main (String args)

Se obtiene el archivo nombre_archivo.class en
byte-code (lenguaje de máquina de la JVM de Java)
8
Variables de ambiente
  • JAVA_HOME
  • Directorio en el que está instalado el J2SE SDK
  • Por ejemplo
  • JAVA_HOME /usr/local/jdk1.5.0_06 (definir en
    .profile o .bashrc en Unix)
  • C\set JAVA_HOME c\Archivos de
    programas\Java\jdk1.5.0_06 (en Windows)
  • CLASSPATH
  • Ruta de acceso a las librerías y APIs de Java.
  • Por ejemplo
  • CLASSPATHJAVA_HOME/libJAVA_HOME/lib.
  • C\set CLASSPATH.JAVA_HOME\libJAVA_HOME\lib
  • PATH del sistema
  • Directorio donde se encuentran los ejecutables de
    java
  • Por ejemplo
  • PATHPATHJAVA_HOME/bin.
  • C\set PATHJAVA_HOME\binPATH
  • Cambiar las variables de ambiente
  • En Unix/Linux incoporar variables en el profile
    del shell en uso.
  • En Windows Panel de Control gtgt Sistema gtgt
    Opciones avanzadas gtgt Variables de entorno.

9
Por qué Java es diferente a otros lenguajes?
  • Java difiere de otros lenguajes porque
  • Es interpretado
  • Arquitectura neutral
  • No hay punteros del estilo de C/C. Estos
    existen pero no son explícitamente visibles.
  • Posee un Garbage Collector (Recolector de
    Basura).
  • Viene con una sofisticada librería de clases
    (paquetes de clases).
  • Incluye soporte para concurrencia, networking, e
    interfaces gráficas.

10
Aplicaciones y Applets
  • Los programas Java vienen en dos formas
  • Aplicaciones.
  • Applets.
  • Los Applets tipicamente son descargados desde un
    browser y son ejecutadas por la Java Virtual
    Machine (JVM) la cual es parte del browser.
  • Las aplicaciones son programas standalone que
    pueden hacer casi cualquier cosa.

11
El J2SE
Ambiente de desarrollo (jsdk)
Ambiente distribuido (jre)
12
La Tecnología Java
Programación UI
JNI
Programación
AWT
Swing
java.
WWW
JavaBeans
Java3D
Applets
Programación gráfica
Java2D
Java Server Pages
Sistemas embebidos
Servidor
JavaSpaces
Servlets
JINI
RMI
Programación distribuida
CORBA
JDBC
Bases de datos
Enterprise JavaBeans
13
Java es Orientado a Objetos
  • Objetos
  • Clases
  • Métodos
  • Subclases
  • Herencia simple
  • Polimorfismo
  • Enlace dinámico
  • Encapsulado

14
Java es un lenguaje simple
  • Sintaxis familiar estilo C.
  • Se eliminan las características complejas de C y
    C.
  • No hay aritmética de punteros.
  • No hay herencia múltiple.
  • No hay delete (Java posee un Garbage Collector).
  • Bastante más amistoso que C y C.

15
La API de la Plataforma Java
  • API Application Programming Interface.
  • Consiste en una biblioteca de clases que provee
  • Manejo de archivos.
  • Interfaces gráficas (AWT).
  • Acceso a la red internet (applets, sockets).
  • Acceso a bases de datos (jdbc).
  • Objetos Distribuidos (RMI).

16
Multiplataforma
  • Windows'95 y 'NT.
  • Power/Mac
  • Unix (Solaris, Linux, ...)
  • Compatibilidad a nivel de fuentes, código
    intermedio y biblioteca de clases.

17
Implementación de la Plataforma Java
  • La implementación de la plataforma Java provee
  • Un compilador de Java (javac) para traducir
    código fuente al set de instrucciones de la
    máquina virtual de Java (bytecode).
  • Un intérprete (java/appletviewer) o un compilador
    JIT para ejecutar las instrucciones de la máquina
    virtual.
  • Una implementación de la API de Java.

18
La Portabilidad
Intérprete Linux
Intérprete Solaris
Fuente Java
Compilador javac
bytecode
Intérprete Windows95
Intérprete Mac
java/appletviewer
19
Los Ambientes de Compilación y Ejecución
Ambiente Tiempo de Compilación Ambiente Run
Time (Plataforma JAVA)
20
El Lenguaje de Programación
  • JAVA

21
Identificadores
  • Nombran variables, funciones, clases y objetos.
  • Comienza con una letra, un subrayado (_) o un
    símbolo de dólar (). Los siguientes caracteres
    pueden ser letras o dígitos.
  • Se distinguen las mayúsculas de las minúsculas.
  • No hay una longitud máxima establecida para el
    identificador.

22
Tipos primitivos en Java
23
Variables
  • Sirven para referirse tanto a objetos como a
    tipos primitivos.
  • Tienen que declararse antes de usarse
  • lttipogt identificador
  • int posicion
  • Se puede inicializar mediante una asignación
  • lttipogt identificador valor
  • int posicion 0
  • Definición de constantes
  • static final float PI 3.14159f

24
Duración y visibilidad de las variables
  • Las variables pueden ser de dos tipos
  • Variables miembro de una clase (variables de
    instancia y de clase).
  • Variables locales creadas en un método.
  • Variables miembros
  • Son declaradas en cualquier lugar de una clase,
    fuera de cualquier método.
  • Las variables miembro static existen desde que se
    crea el primer objeto o cuando se utiliza el
    primer método static de la clase. Son visibles y
    compartidas por todos los objetos de la clase,
    viendo el mismo contenido en ellas.
  • Las variables miembros se pueden acceder desde
    otras clases dependiendo de los permisos de
    acceso de la clase y de la variable (public,
    protected, package, private).
  • Las variables miembros de objetos (o de
    instancia) existen desde que se crea el objeto.
    Las variables de instancia poseen valores
    particulares para cada objeto.
  • Variables locales
  • Se declaran en cualquier lugar del cuerpo de un
    método o en cualquier bloque dentro de un método.
  • Las variables locales existen desde el punto en
    que se crean hasta que se llega al final del
    bloque en el que han sido creadas.
  • Las variables locales en un bloque no pueden
    tener el mismo nombre que otra variable local que
    sea visible, aunque ésta esté definida en un
    bloque más exterior. No debe haber conflicto de
    nombre entre variables locales.
  • Los argumentos son como variables locales
    visibles en todo el método.

25
Inicialización de las variables
  • Se puede asignar un valor a cada variable de un
    tipo primitivo en el momento de su creación,
    tanto si es variable miembro como si es local
  • int i 0
  • long j 100, k 100000
  • Variables finales
  • Son aquellas cuyo valor, una vez inicializadas,
    no puede cambiar.
  • La inicialización puede estar separada de la
    declaración.
  • Ejemplo
  • final double PI 3.141592654
  • final int MAXNUM
  • MAXNUM 234

26
Declaraciones
  • int k // Un elemento de tipo
    entero
  • int k 10 // Un elemento entero
    inicializado
  • double pi 3.14159 // Un elemento de tipo
    real de doble
  • //precisión.
  • char c 'a' // Un elemento de tipo char
  • boolean flag false // Un elemento booleano
    inicializado
  • //con un valor de verdad
  • String s Hola //Un elemento de tipo string
    (es un
  • //objeto)

27
Expresiones
  • Las expresiones se forman con casi los mismos
    operadores de C/C
  • Aritméticos - /
  • De bits (Bitwise) gtgt ltlt
  • Pre y postincremento k, j, --k, j
  • Relacionales gt lt gt lt !
  • Booleanos !
  • Cast (int) pi
  • Condicional (k gt j ? k j)

28
Operadores de Asignación
  • Se usa la misma sintaxis de C k 1
  • El operador de asignación se usa igual que en C
    k (j 1) 2
  • También existen - /
  • Java realiza conversiones implícitas, pero es más
    estricto que C.

29
Precedencia de operadores
  • De mayor a menor precedencia
  • Postfix operators . (params) expr expr
  • Unary operators expr --expr expr -expr
    !
  • Creation or cast new (type)expr
  • Multiplicative /
  • Aditive -
  • Shift ltlt gtgt gtgtgt
  • Relational lt gt lt gt instanceof
  • Equality !
  • Bitwise AND
  • Bitwise exclusive OR
  • Bitwise inclusive OR
  • Logical AND
  • Logical OR
  • Conditional ?
  • Assignment - /
    ltlt gtgt gtgtgt
  • Para la misma precedencia
  • En Java todos los operadores binarios excepto los
    operadores de asignación se evalúan de izquierda
    a derecha.
  • Los operadores de asignación se evalúan de
    derecha a izquierda.

30
Conversiones implícitas
  • byte lt short lt int lt long lt float lt double
  • Ejemplos
  • int i 1
  • long k i // Ok
  • k 5500000000000
  • float f k // Ok.
  • double x 5.0e-30
  • int k x // Error en compilación
  • float x 15.5f
  • int k x // Error en compilación
  • short s k // Error en compilación

31
Conversiones implícitas
  • Las conversiones son aceptadas usando cast
  • float f 50.0f
  • int k (int)f // Ok en compilación
  • Java no avisa en caso de errores de conversión
    numéricos.
  • int k 256
  • byte b (byte)k // b 0, rebalse?

32
Instrucciones de Control
  • Similar a C/C
  • Instrucción condicional if.
  • Ciclos while y do ... while.
  • Ciclos for.
  • Selección switch/case.

33
Control de flujo
switch(expresión) case valor1
sentencias break case valor2
sentencias break default
sentencias
if( expresión-booleana ) sentencias
else sentencias
34
Ejemplo
  • int saldo
  • if ( saldo lt 0 )
  • System.out.println(Cuenta en números
    rojos)
  • int dia
  • switch (dia)
  • case 1 System.out.println(Lunes) break
  • case 2 System.out.println(Martes) break
  • case 7 System.out.println(Domingo)
    break

35
Bucles o ciclos
inicialización do sentencias
iteración while(expresión-booleana )
for( inicialización exp-booleana iteración )
sentencias
inicialización while( expresión-booleana )
sentencias iteración
36
Ejemplo
  • for (int index0 ilttabla.length index)
  • System.out.println(tablaindex)
  • int i0
  • while ( i lt tabla.length )
  • System.out.println(tablai)
  • i
  • 3. int i 0
  • do
  • System.out.println(tablai)
  • i
  • while ( i lt tabla.length )

37
Manejo de Strings
  • Declaración de un string
  • String s, t // Declaración
  • String r "Hola" // Declaración con asignación
  • Despliegue de un string
  • System.out.println(r)
  • Asignación de strings
  • s r
  • t "que tal"
  • Concatenación de strings
  • s r t // "Holaque tal"
  • s r t // "Hola que tal"

38
Métodos
  • Tamaño de un string s.length()
  • k-ésimo caracter s.charAt(k)
  • Subsecuencias s.substring(begin, end)
  • Comparación de strings s.equals("Hola")
  • Comparación de punteros s s0

39
Conversiones implícitas
  • int n 5
  • String s
  • s "La variable n es " n
  • System.out.println(s)
  • System.out.println(n n)

40
Epílogo
  • Los strings no se pueden modificar
  • s0 'h' // error, s no es un arreglo
  • s.charAt(0) 'h' // error
  • Java no posee aritmética de punteros
  • s s 1 // agrega "1" al final de s

41
Arreglos
  • Declaración preferida de un arreglo
  • int A
  • Declaración compatible con C
  • int A
  • En Java, la declaración de un arreglo es similar
    a la declaración de un puntero en C
  • En Java int A
  • En C int A

42
Epílogo
  • Errores típicos con arreglos
  • int A10 // Ahí no va el tamaño!
  • int A // Ok!
  • A1 100 // Todavía no se ha pedido
  • // espacio para el arreglo.
  • Petición de espacio para un arreglo
  • int A
  • A new int50
  • A1 100 // Correcto!

Aquí se determina el tamaño
43
El método main()
  • La clase que lo contiene conduce la aplicación
  • Al ejecutar el programa se busca el método main
    que contiene dicha clase
  • public class Echo
  • public static void main (String args)
  • for (int i 0 iltargs.lengthi)
  • System.out.print(argsi )
  • String args parámetros del programa que se
    reciben desde el shell.
  • Ejemplo de invocación
  • java Echo Hola mundo
  • Puede haber más de un main, pero sólo se
    ejecutará uno.

44
Argumentos de entrada de un Programa
  • Al ejecutar un programa desde el shell, el
    usuario puede especificar argumentos, tal como
  • java Echo Hola que tal
  • donde Echo es la clase principal (Echo.class).
  • Los argumentos "Hola", "que" y "tal" se reciben
    en un arreglo de strings en el main llamado args
  • public static void main(String args) cuerpo
    del main
  • args0 es "Hola"
  • args1 es "que"
  • args2 es "tal"

45
Clases en Java definición
  • class nombre_de_clase extends nombre_de_superclas
    e implements nombre_interface ...
  • type variable_de_instancia1
  • type variable_de_instancia2
  • type variable_de_instanciaN
  • nombre_de_clase(lista de parámetros) //Método
    de instanci o constructor
  • cuerpo_del_método
  • type nombre_de_metodo1(lista de parámetros)
  • cuerpo_del_método
  • type nombre_de_metodo2(lista de parámetros)
  • cuerpo_del_método
  • ...

46
Atributos
  • Atributos de clase o variables de (la) clase
  • Común a todas las instancias de una clase
    (funcionan como variables globales).
  • No necesitan un objeto para examinarlas o
    modificarlas.
  • Compartidas por todos los objetos de la misma
    clase.
  • Sólo se inicializan una vez.
  • Ej static public int nextCodigo
  • Atributos de instancia o variables de instancia
  • Determina el estado de los objetos.
  • Cada objeto reserva memoria para todas las
    variables de instancia.
  • Declaración
  • accesostaticfinal tipo nombreAtributo
    valor_inicial

47
Inicialización de los atributos
  • Si un atributo no se inicializa se le asigna un
    valor por defecto en función de su tipo

48
Control de acceso en Java
  • public los miembros que se declaran como public
    son accesibles en cualquier parte donde la clase
    sea accesible.
  • protected miembros declarados como protected
    sólo accesibles en la propia clase y por sus
    clases descendientes.
  • private miembros declarados como private sólo
    accesibles en la propia clase.
  • package no llevan modificador de acceso y son
    accesibles y heredados por el código del mismo
    paquete.
  • public class A
  • public int at1
  • private int at2

A a //creamos el objeto a.at1 6 //OK a.at2 5
//ERROR
49
Métodos
  • Código que entiende y manipula el estado de un
    objeto.
  • Pueden ser llamados dentro de la clase o por
    otras clases.
  • Es obligatorio indicar el tipo de retorno o void.
  • Declaración
  • accesostatic tipoRetorno nomMet
    (argumentos)
  • //cuerpo del método
  • return valor a retornar
  • Invocación utilizando la notación (operador)
    punto
  • objReceptor.nomMet(argumentos)

50
Métodos Estáticos y variables estáticas
  • Los métodos estáticos se invocan sobre la clase,
    no sobre un objeto.
  • Este tipo de método sólo puede acceder a las
    variables y métodos de clase (static).
  • Los métodos y variables de instancia estáticos
    actúan con relación a la clase, y no con respecto
    a cada una de las instancias de la clase.
  • Los métodos estáticos sólo pueden llamar a otros
    métodos static directamente, y no se pueden
    referir a this o a super.
  • El declarar una variable static es equivalente a
    declararlas como variables globales, que son
    accesibles desde cualquier fragmento de código.
    Si se necesita realizar cálculos para inicializar
    las variables static, se puede declarar un bloque
    static que se ejecuta una sola vez cuando la
    clase se carga por primera vez.

51
Ejemplo con Métodos Estáticos
  • class Punto extends FiguraGeometrica
  • float x
  • ...
  • public static boolean sonIguales(Punto p,
    Punto q)
  • return p.xq.x p.yq.y
  • Cuidado!
  • public static boolean sonIguales(Punto q)
  • return xq.x yq.y
  • Can't make a static reference to nonstatic
    variable x in class Punto.
  • Las variables de instancia no pueden ser
    accesadas desde métodos estáticos.

52
Cómo se instancia una clase
  • Al crear el primer objeto de la clase o al
    utilizar el primer método o variable static, se
    localiza la clase en el disco (archivo .class) y
    se carga en memoria.
  • Se ejecutan los inicializadores static (sólo una
    vez).
  • Para crear un nuevo objeto
  • Se reserva la memoria.
  • Las variables miembros reciben los valores por
    defecto según el tipo de datos primitivo.
  • Se ejecutan los inicializadores explícitos o de
    objeto.
  • Se ejecutan los constructores.

53
Sobrecarga de métodos
  • Java soporta sobrecarga de métodos
  • El mismo nombre pero con diferente lista de
    argumentos.
  • Devuelven siempre el mismo tipo.
  • public class ListaEnteros
  • public void add (int elem)
  • public void add (int elem, int index)

54
Paso de parámetros
  • Los valores de los parámetros son copias de los
    valores que especifica el que lo invoca.
  • Tipos primitivos no cambian.
  • Los objetos pueden cambiar su estado ? se pasa
    por valor la referencia.
  • Si se usa una variable de tipo primitivo como
    argumento, el pasaje de parámetros se llama por
    valor (se hace la copia del valor del argumento
    actual de la invocación a la variable local
    declarada como argumento).
  • Si el argumento es referencia a objeto (Clase) el
    pasaje de parámetro se llama por referencia
    (puntero a objeto), se copia el valor de la
    referencia del argumento de la llamada actual a
    la referencia del argumento del método.

55
Constructores
  • Método que tiene el mismo nombre que la clase.
  • Una clase puede tener varios constructores que se
    diferencian por el tipo y número de argumentos
    (sobrecarga de métodos).
  • Se invoca automáticamente cada vez que se crea un
    objeto de la clase.
  • No pueden especificar tipos ni valores de
    retorno.
  • Permite sobrecarga para especificar formas
    distintas de inicializar los objetos.
  • Si no se define, el compilador crea uno por
    defecto sin argumentos que inicializa los
    atributos a los valores por defecto.
  • El programador también puede definir un
    constructor sin argumentos.

56
Constructor de copia
  • Su objetivo es crear una copia de un objeto.
  • class Punto
  • private float x, y
  • Punto (Punto p) // Recibe como pámetro la
    referencia de un
  • // objeto que ya existe.
  • x p.x
  • y p.y
  • Ejemplo
  • Punto pto new Punto(p)

57
Creación de objetos
  • La creación de un objeto se realiza en tres pasos
  • Declaración, proporcionar un nombre a un puntero
  • Punto miPunto (null)
  • Instanciación, asignar memoria al objeto (en el
    heap)
  • miPunto new Punto()
  • Inicialización, opcionalmente se pueden
    proporcionar valores iniciales a las variables de
    instancia del objeto en la declaración o mediante
    constructores.

Suponiendo que es local a un método
58
Destrucción de Objetos
  • En Java no existen los destructores de objetos
    como C (nombreClase(), delete).
  • El sistema (JVM) se ocupa de liberar de forma
    automática la memoria que ocupan los objetos que
    han dejado de ser referenciado (ningún puntero
    apunta a ellos). Esto se puede producir debido a
  • Porque al puntero se le ha asignado el valor
    null.
  • Porque a ese puntero se le ha asignado la
    referencia de un objeto diferente.
  • Java cuenta con un recoletor de basura (garbage
    collector) para liberar de forma automática la
    memoria.
  • No se sabe cuando se va a activar exactamente el
    recolector de basura.
  • Se puede invocar explícitamente con System-gc(),
    aunque esto es sólo una sugerencia que se envía a
    la JVM.

59
Ejemplo
  • public class Grafica
  • public static void main (String args)
  • Punto miPunto new Punto()
  • miPunto.Dibujar()
  • miPunto.Mover(30,60)
  • System.out.println(X miPunto.CoordX()
    Y miPunto.CoordY() )

60
Igualdad vs. Identidad
  • Tener en cuenta que
  • y ! compara punteros de manera que
  • Punto p1 new Punto()
  • Punto p2 new Punto()
  • Si comparamos
  • p1 p2 --gt false, luego p1 ! p2
  • p1.equals(p2) --gt true compara el CONTENIDO de
    los objetos.

61
El puntero this itself
  • Invocación a otro de los constructores de la
    clase
  • public Punto (float x, float y)
  • this.x x
  • this.y y
  •  
  • public Punto()
  • this(0,0)
  • Instancia actual
  • Pasar el objeto actual como parámetro de otro
    método
  • listaPunto.insertar(this)
  • En cualquier método del objeto actual
  • this.Mover(35,70)

62
super
  • Si se desea invocar al constructor de la
    superclase se debe recurrir al método super. Por
    ejemplo
  • class F extends Frame
  • super(Este es un frame)
  • ...
  • ...
  • Si se necesita llamar al método padre dentro de
    una clase que ha reemplazado ese método, se puede
    hacer referencia al método padre con la palabra
    clave super
  • import MiClase
  • public class MiNuevaClase extends MiClase
  • public void Suma_a_i( int j )
  • i i ( j/2 )
  • super.Suma_a_i( j )

63
Reglas de alcance
  • Porción del programa en el que se puede hacer
    referencia al identificador
  • Un identificador debe ser único dentro de su
    ámbito
  • Alcance de Clase
  • los métodos de una clase pueden modificar
    directamente los atributos de clase y de
    instancia
  • Un método de clase (static) sólo puede acceder a
    atributos de clase.
  • Alcance de Bloque
  • variables locales y parámetros de un método
  • cuando se anidan los bloques y existen dos
    identificadores con nombres iguales el compilador
    da error de sintaxis (variable ya definida)
  • si una variable local tiene igual nombre que un
    atributo de la clase éste queda oculto.

64
Normas de estilo
  • No es que existan reglas pero es conveniente
    seguir unas normas para que el código sea mas
    legible
  • Nombre de clase empieza por Mayúsculas.
  • Nombre de métodos y atributos por minúsculas.
  • Las constantes con MAYÚSCULAS completamente.
  • Cuando empieza una nueva palabra la ponemos en
    mayúsculas ej dibujarRectangulo

65
Primer Ejemplo
  • Uso de la AWT

66
Ejemplo 1 Código fuente
  • import java.awt.
  • public class myGui extends Frame
  • Button butQuit
  • Label etiq
  • TextArea area
  • TextField texto
  • Checkbox checkBox
  • List listaItem
  • Canvas canvas
  • Panel panel
  • public myGui()
  • setLayout(new BorderLayout())
  • // creando los widgets
  • butQuit new Button("quit")
  • butQuit.enable()
  • etiq new Label("Hola Mundo, nuestro
    primer ejemplo!", Label.CENTER)
  • area new TextArea(5, 20)
  • texto new TextField(15)

listaItem new List(3) for (int i 1 i
lt 10 i) listaItem.addItem("Item
"i) canvas new MiCanvas() panel
new Panel() // El contenedor adicional
panel.setLayout(new FlowLayout()) // Se
construye el panel panel.add(texto)
panel.add(butQuit) panel.add(checkBox)
// Se construye la ventana add("North",
etiq) add("West", area) add("East",
listaItem) add("Center", canvas)
add("South", panel)
67
Ejemplo 1 Código fuente (continuación)
public boolean action(Event evt, Object what)
if ( evt.target butQuit )
System.exit(0) return true
else if ( evt.target checkBox )
checkBox.disable() return true return
false //El método main. public static
void main(String args) // El main Frame
frame new myGui() frame.pack()//Ajusta
tamaño frame.show()//Lo hace visible
// La extension de Canvas class MiCanvas extends
Canvas public void paint(Graphics g)
g.setColor(Color.red) g.fillArc(30,30,size().
width/2,size().height/2,0,270) public
Dimension getMinimumSize() return new
Dimension(150,130) public Dimension
getPreferredSize() return
getMinimumSize()
68
La Interfaz
Frame
North
Label
List
Canvas
TextArea
Center
West
East
Panel
TextField
South
Button
CheckBox
Write a Comment
User Comments (0)
About PowerShow.com