• No se han encontrado resultados

Programación en Java (AWT ) subir

N/A
N/A
Protected

Academic year: 2020

Share "Programación en Java (AWT ) subir"

Copied!
69
0
0

Texto completo

(1)

Programación en Java (AWT y

Swing)

(2)

AWT

(3)

Swing

(4)

Estructura de una aplicación

Ventana

Content Pane

Contenedor

Campo de Texto boton

boton

(5)

Diferencia AWT vs Swing

•AWT es una interface que utiliza código nativo del Sistema Operativo.

•AWT es mucho mas rápido que Swing •AWT es compatible con applets

•Swing es un GUI construido puramente en Java •Swing su funcionamiento es independiente del

Sistema operativo

•Swing permita manipular mas características a los componentes.

(6)

 

Trabajo con gráficos

El origen (0,0) de cada ventana está en la

esquina

superior

izquierda.

Las

(7)

Líneas de dibujo.

• Las líneas se dibujan con el método drawLine(int x,int y,int x1,int y1) que realiza una linea con el color en uso. •

Dibujar rectángulos.

• Los métodos drawRect( ) y fillRect dibujan un rectángulo sólo con el borde o relleno,

respectivamente.

(8)

Para dibujar un

rectángulo redondeado

, se usan

los métodos drawRoundRect(int x,int y, int anchox,int

largoy,int xdiam,int ydiam) o fillRoundRect(int x,int y,

int anchox,int largoy,int xdiam,int ydiam). El

diámetro del arco a lo largo del eje x y eje y están

dados por xdiam,ydiam.

Dibujar círculos y elipses.

Para dibujar una elipse se utiliza el método

(9)

Dibujar círculos y elipses.

•Para dibujar una elipse se utiliza el método drawOval(int x,int y,int anchox, int largoy) y para una elipse rellena se utiliza el método fillOval(int x,int y,int anchox, int largoy) •

Dibujar arcos.

•Los arcos se pueden dibujar con drawArc(int x,int y, int anchox,int altoy,int anguloinicial, int angulofinal) y

(10)

Dibujar polígonos.

•También se pueden dibujar figuras con formas arbitrarias utilizando los métodos drawPolygon(int x[ ],int y[ ],int

numpuntos) y fillPolygon(int x[ ],int y[ ],int numpuntos). • Los vértices del polígono están especificados por las

parejas de coordenadas que vienen en los arreglos x y y. • Tamaño de los gráficos.

(11)

Trabajar con color.

El sistema de color del AWT permite especificar

cualquier color. La clase Color define varias

constantes por ejemplo Color.black esto para

especificar un conjunto de colores comunes.

También puede crear sus propios colores

utilizando uno de los constructores de colores. Las

formas que mas se usan son las siguientes:

Color(int red,int green,int blue)

Color(int rgbValue)

(12)

Para establecer el color para los

gráficos.

(13)
(14)

Botones

El control que más se utiliza son los botones.

Un botón es un componente que contiene una

etiqueta y que genera un evento cuando es

pulsado, los botones son objetos de la clase

Button y este proporciona dos constructores:

Button( )

Button(String Str) 

(15)

Botones

Se puede asignar la etiqueta y obtener la

etiqueta utilizando los métodos:

void setLabel(String str)

String getLabel( )

 

Evento generado es un ActionEvent.

(16)

Layout

¿Cómo se distribuyen los componentes

(17)

Gestores de organización

FlowLayout

Este gestor acomoda los componentes de

izquierda a derecha y de arriba abajo por default.

FlowLayout( )

FlowLayout( int how)

How puede ser FlowLayout.LEFT,

FlowLayout.CENTER, FlowLayout.RIGHT

FlowLayout( int how, int horz, int vert) los últimos

especifican el espacio entre elementos

(18)
(19)

Gestores de organización

BorderLayout

es la segunda forma de organización

habitual por áreas, norte, sur, este, oeste, centro

BorderLayout( )

BorderLayout( int horiz,int vert) igual define espacios

Constantes que especifican las regiones:

BorderLayout.CENTER

BorderLayout.EAST

(20)
(21)

Gestores de organización

GridLayout

Organiza los componentes en una

cuadricula de 2 dimensiones

GridLayout( )

GridLayout(int numfilas, int numcolumnas )

(22)
(23)

Etiquetas.

• El control mas sencillo de utilizar es una etiqueta es un objeto de la clase Label, y contiene un string que se muestra en pantalla. Las etiquetas son controles pasivos que no admiten ninguna interacción con el usuario. Label define los siguientes constructores:

• Label( )

• Label(String str);

• Label(String str,int how);

(24)

•La tercera crea una etiqueta con el string de la forma indicada por how y estos pueden se de tres formas:

• Label.RIGTH, Label.LEFT, Label.CENTER

•Los métodos para manipular las etiquetas son:

•void setText( String arg) poner la nueva cadena a la etiqueta

•String getText( ) obtener el contenido de la etiqueta

• Los alineamientos se pueden especificar mediante dos métodos:

• void setAlignment(int how)

(25)

Eventos

(26)
(27)

Componentes o fuentes que generan

eventos

Origen de

evento Descripción

Button Genera eventos de acción (ActionEvent) cuando se presiona el botón.

Checkbox Genera eventos de elementos (ItemEvent) cuando se selecciona o deselecciona un checkbox.

Choice Genera eventos de elementos cuando se cambia de opción choice.

(28)

Menu Item Genera eventos de acción cuando se selecciona un elemento de menú; genera eventos de elemento cuando se selecciona o se deselecciona un elemento de un menú de opciones.

Scrollbar Genera eventos de ajuste (AdjustmentEvent) cuando se manipula el scrollbar.

Text

components Genera eventos de texto (TextEvent) cuando el usuario introduce un carácter.

(29)

Interfaces de auditor que más se utilizan

ActionListener

 

AdjustmentListener

ItemListener

KeyListener

MouseListener

MouseMotionListener

WindowListener

(30)

Primer programa con eventos

2 Botones y dice presióname y el otro

borrar

Cuando se presiona el primero actualiza

una etiqueta que dice que se presiono.

Con el botón de borrar se elimina el

(31)

Ejercicio de reforzamiento

Realizar un

programa que tenga tres botones

verticales, uno que dibuje un circulo

(32)

TextField

•  La clase TextField implementa un área de entrada de texto de una sola línea que se llama control de edición. Los campos de texto permiten al usuario introducir strings y editar texto utilizando los cursores, las teclas de cortar y pegar y las selecciones que se hacen con el ratón. La clase TextField es una subclase de TextComponent y TextField proporciona los siguientes constructores:

•TextField( )

•TextField(int numchars )

•TextField(String Str)

(33)

int numchars especifica la anchura en caracteres

String str inicializa el campo por el texto especificado

Para obtener el texto del campo especificado se usa

String getText( )

Para establecer el texto al campo se usa void

setText(String texto)

Se puede seleccionar parte del texto utilizando los

siguientes métodos:

String getSelectedText( )

(34)

• Se puede poner editables y verificar si es editable o no con:

• void setEditable(boolean valor) • boolean isEditable( )

(35)

Ejercicio 2.

Ver funcionamiento e implementar un ejercicio

de captura de valores de un vector valores

deben de ser como maximo 100.

Los colores de las barras del histograma

generarlas de manera aleatoria.

(36)

TextArea

Algunas veces no basta con una entrada de una sola

línea para realizar ciertas tareas y para manejar esto

AWT incluye un sencillo editor multilíneas llamado

TextArea y los constructores son los siguientes:

TextArea( )

TextArea(int numlineas,int numcaracteres )

TextArea(String Str)

TextArea(String str,int numlineas,int numcaracteres)

TextArea(String str,int numlineas,int

(37)

•Textarea es una subclase de TextComponent por lo que

soporta los mismo metodos que TextField (String getText( ), void setText(String texto), String getSelectedText( ),

•void select(int inicio,int final), void setEditable(boolean valor), boolean isEditable( )) y además agrega los siguientes métodos:

•void append(String str)

•void insert(String str,int index)

•void replaceRange(String str,int startIndex,int endindex)

(38)

Archivos de Texto

• Las computadoras utilizan archivos para la retención a largo plazo de grandes cantidades de datos, incluso hasta después de que terminan que crean esos datos. Nos referimos a los datos que se mantienen en archivos como datos persistentes, ya que existen más allá de la duración de la ejecución del programa.

• Los ficheros(archivos) y streams se utilizan en java haciendo uso del paquete java.io

• La clase InputStream y OutputStream son las superclases de FileInputStream y FileOutputStream, que nos permitirán trabajar con archivos secuenciales de datos.

(39)

Métodos de InputStream

Método Descripción

int aviable( ); Devuelve el numero de bytes de entrada disponibles para lectura

void close( ); Cierra la fuente de entrada.

int read( ); Devuelve la representación como numero entero del byte.

int read(byte buffer[ ] ); Intenta leer hasta buffer.length bytes de buffer devolviendo el numero de bytes leídos y –1 cuando se ha llegado al final del archivo.

long skip(long numbytes); Salta el numbytes de la entrada y devuelve el número de bytes ignorados.

void reset( ); Inicializa el puntero de entrada. int read(byte buffer[ ], int

(40)

Métodos de OutputStream

Método Descripción

void close( ); Cierra el flujo de salida

void flush( ); Finaliza el estado de salida para los buffers.

void write(int b) Escribe un byte en un flujo de salida

void write(byte buffer[ ]) Escribe un matriz de bytes en el flujo de salida.

void write(byte buffer[ ],int

(41)

FileDialog

Se puede utilizar un cuadro de dialogo para que

el usuario pueda seleccionar un archivo. Para

crear un cuadro de dialogo de archivo solo hay

que crear un objeto de la clase

FileDialog

y

tiene los siguientes constructores:

FileDialog(Frame parent, String boxename);

FileDialog(Frame parent, String boxename,int

how);

(42)

• Donde parent es el propietario del cuadro de dialogo de archivo, boxename es el nombre que aparece en el titulo del cuadro de dialogo y how puede ser FileDialog.LOAD(El archivo se selecciona para lectura), FileDialog.SAVE(El archivo se selecciona para escritura).

• FileDialog tiene dos métodos que permite determinar el nombre y la ruta del archivo y son:

• String getDirectory( ) • String getFile( )

(43)

Ejercicio 8

(44)

Checkbox

Los checkbox son objetos de la clase Checkbox. Un

checkbox es un objeto que se utiliza para activar o

desactivar una opción. Está formado por un

pequeño cuadro que puede contener o no una marca

de comprobación. Hay una etiqueta asociada a cada

checkbox que describe que opción representa. Para

cambiar el estado de un checkbox sólo hay que

pulsar sobre el. Los checkbox se pueden utilizar

individualmente o como parte de un grupo.

(45)

Constructores

Checkbox( )

Checkbox(String str)

Checkbox(String str, boolean on)

Checkbox(String str, boolean

on,CheckboxGroup cbgroup)

(46)

Los métodos utilizados para el manejo de

los checkbox son:

 boolean getState( )

devuelve el

estado del checkbox (seleccionado o no)

void setState(boolean on)

establece el

estado del checkbox (seleccionado o no)

String getLabel( )

devuelve la

etiqueta asignada al checkbox

void setLabel(String str)

establece la

etiqueta al checkbox

(47)

Ejercicio 3

Realizar un programa que muestre la

múltiple selección a través de checkbox;

generar un checkbox para cada uno de

los sistemas operativos que se utilizan

con mayor frecuencia y cuestionar cuales

son los sistemas operativos que a

(48)

CheckboxGroup

(49)

métodos

Los métodos definidos para manejar los

ChecboxGroup son:

Checkbox getSelectedCheckbox( ) devuelve el

checkbox actualmente seleccionado

void setSelectedCheckbox(Checkbox cual) para

establecer el checkbox seleccionado

(50)

Ejercicio 4

Realizar ejercicio que muestre selección única a

través de botones de radio, para el ejemplo

anterior (Ejercicio 3) selección de sistema

operativo.

(51)

Controles Choice

(52)

Métodos

Para añadir un elemento a la lista, hay que llamar

addItem o add que contienen los siguientes

formatos:

void addItem (String name);

void add(String name);

Para determinar el elemento seleccionado se

puede llamar a los siguientes métodos:

String getSelectedItem( )

(53)

Métodos

•int getSelectedCount( ) devuelve el número de elementos en la lista

•void select(String name) para indicar el elemento que debe estar seleccionado.

•void select(int index)

•String getItem(int index) para obtener el nombre de un elemento de una posición.

•Evento generado es ItemEvent. (Interfaz ItemListener y método itemStateChanged)

(54)

Ejercicio 5

(55)

Listas

• La clase List proporciona una lista de selección compacta, con desplazamiento, que permite realizar selecciones múltiples. A diferencia de Choice, que solo muestra el único elemento que se puede seleccionar en el menú, se puede construir un objeto List que muestre cualquier número de opciones en una ventana. También se puede configurar de manera que se puedan realizar selecciones múltiples. List tiene estos constructores:

• List( )

• List(int numRows)

(56)

Métodos

Para añadir elementos a la lista, hay que llamar al

método add( ), que tiene estos dos formatos:

void add(String name) Añade los

elementos al final de la lista

void add(String name,int index) Añade los

elementos en la posición especificada

(57)

Métodos

•Para determinar el elemento seleccionado se puede llamar a los siguientes métodos solo cuando se puede seleccionar un único elemento:

• String getSelectedItem( )

•int getSelectedIndex( )

•Para determinar el elemento seleccionado se puede

llamar a los siguientes métodos solo cuando se pueden seleccionar varios elementos:

• String [ ] getSelectedItems( )

(58)

Métodos

•int getSelectedCount( ) devuelve el número de elementos en la lista

•void select(String name) para indicar el elemento que debe estar seleccionado.

•void select(int index)

•String getItem(int index) para obtener el nombre de un elemento de una posición.

• Evento generado es un ActionEvent. solo cuando se le hace clic en un elemento de la lista.

• Evento generado es ItemEvent. (Interfaz ItemListener y método itemStateChanged) cuando se selecciona o

(59)

Ejercicio 6

Sistema operativo – Navegador con una

(60)

Barras de desplazamiento.

• Las barras de desplazamiento se utilizan para seleccionar valores continuos entre mínimo y un máximo especificado. Las barras de desplazamiento pueden ser horizontales y verticales. Una barra de desplazamiento tiene varios elementos. La clase Scrollbar encapsula las barras de desplazamiento y define los siguientes constructores:

• Scrollbar( )

• Scrollbar(int style)

(61)

Para establecer los valores en caso de haber

utilizado el primer constructor se usa:

void setValues(int initialvalue,int tamaño, int min,int

max);

Para obtener y poner el valor a la barra se usa:

int getValue( )

void setValue(int valor)

para obtener los valores mínimos y máximo:

int getMinimum( )

(62)

Por defecto el incremento de la flecha es de 1

pero se puede cambiar mediante void

setUnitIncrement(int nuevo incremento); por

defecto el incremento de pagina es de 10 y se

pueden

cambiar

llamando

a

void

setBlockIncrement(int nuevo incremento).

Evento generado es AdjustmentEvent. (Interfaz

AdjustmentListener

y

método

(63)

Ejercicio 7

Movimientos de figura

Colores rgb

(64)

Desplegado de imágenes

• Para desplegar una imagen dentro de un Applet primero se debe definir una referencia a partir de la clase Imagen como se muestra a continuacón:

Image img;

•Paso número dos se debe de asignar la imagen haciendo uso del método:

•src/

Image getImage(URL url,String imagíname);

•Pero en su defecto getImage(getDocumentBase( ),

(65)

Para desplegar la imagen en pantalla se utiliza

el método:

boolean drawImage

(Image imagen,int left,int

top,objeto de referencia);//tamaño original de la

imagen

boolean drawImage

(Image imagen,int left,int

top,int ancho,int largo,objeto de

(66)

Ejercicio 9

Cargar imagen

(67)

Reproducción de sonido

•Para reproducir audio se puede realizar utilizando la

clase AudioClip de la clase Applet de la siguiente forma: •AudioClip sonido; primero definiendo la referencia de

la clase.

• Posterior a eso obtener el archivo de audio mediante el método getAudioClip de la siguiente forma:

•sonido=getAudioClip(getDocumentBase(),"sonido1.wav" ); //archivo en el mismo directorio

(68)

Las operaciones que se pueden realizar sobre ese

archivo de sonido son:

sonido.play iniciar la reproducción del archivo

sonido.stop detener la reproducción del archivo

sonido.loop reproducir de manera repetida en

archivo

Con esta clase solo permite reproducir

(69)

Ejercicio 10

Referencias

Documento similar

 Buscar Buque Base, esta botón nos lanzará a un archivo Excel, en donde existe una amplia base de datos de cada tipo de buque, que ayudará al usuario, en el caso

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

(3) VEAMOS COMO AFECTA UN AUMENTO DEL TIPO IMPOSITIVO EFECTIVO A LA CURVA IS.. Partimos de una situación inicial donde el tipo impositivo efectivo era igual a t

•  The constitutional and cognitive dimension refers to the learner’s own identity, his attitude and his natural ability to approach a text and. generate his

conquista en una línea de tiempo y las acciones que se llevaron a cabo para que la corona española cumpliera sus objetivos (incorporación de nuevos.. territorios, evangelización

Nuestros concentrados con pulpa de fruta 100% natural son sinónimo de versatilidad, con los que puedes desarrollar conceptos en bebidas, alimentos, repostería y panadería;..

Firmaron, por parte de GRANTECAN, Pascual Fernández Martínez, Presidente del Consejo de Administración y Director General de Análisis y Programación Presupuestaria del Ministerio

Una vez hecho esto, se realiza una espera, leyendo el registro de salida del coprocesador para el control de qué está haciendo el procesador en este momento, a la espera que nos