Anda di halaman 1dari 41

DIRECCIN GENERAL DE EDUCACIN SUPERIOR

TECNOLGICA
INSTITUTO TECNOLGICO DE CD. VALLES

ING. EN SISTEMAS
COMPUTACIONALES
TOPICO AVANZADOS DE PROGRAMACION
EJERCICIOS EN NETBEANS
PROFESOR: MCI. NELLY ROSINA IZAGUIRRE CARDENAS
ALUMNOS:
SANCHEZ MANCILLA WALTER APOLO 09690037
VIDALES MARTINEZ ELVIA MARINA 11690174
VIDALES MARTINEZ ORLANDO - 10690344

01-12-2014

EJERCICIO 1 CUADROS DE VERIFICACION


El programa debe funcionar de la siguiente forma:
Cuando el usuario pulse aceptar, en la etiqueta aparecer un mensaje indicando qu
animales han sido seleccionados. Para ello hay que programar el evento
actionPerformed del botn Aceptar. En ese evento aada el siguiente cdigo:
String mensaje="Animales elegidos: ";
if (chkPerro.isSelected()) {
mensaje=mensaje+"Perro ";
}
if (chkGato.isSelected()) {
mensaje=mensaje+"Gato ";
}
if (chkRaton.isSelected()) {
mensaje=mensaje+"Raton ";
}
etiResultado.setText(mensaje);

El mtodo isSelected() propio de las casillas de verificacin, permiten saber si una casilla
est activada o no.
Una vez ejecutado el programa nos mandara un mensaje indicando en la etiqueta que
animales han sido elegidos antes de dar click en el boton aceptar.

Los checkbox nos permiten elegir una o mas opciones entre varias existentes.

EJERCICIO 2 BOTONES DE OPCION

En la ventana principal debes aadir lo siguiente:


a. Un botn Aceptar llamado btnAceptar.
b. Una etiqueta con borde llamada etiResultado.
c. Aade un panel. Un panel es una zona rectangular que puede contener
elementos (botones, etiquetas, etc) La forma de poner un panel es a travs
del objeto Jpanel.
d. Ahora debes aadir tres botones de opcin (botones de radio) dentro del
panel. Estos botones son objetos del tipo JradioButton.
e. Cuando el usuario pulse el botn Aceptar, en la etiqueta aparecera el color
elegido. Para ello, en el actionPerformed del botn Aceptar se programa lo
siguiente:
String mensaje="Color elegido: ";
if (optRojo.isSelected()) {
mensaje=mensaje+"Rojo";
} else if (optVerde.isSelected()) {
mensaje=mensaje+"Verde";
} else if (optAzul.isSelected()) {
mensaje=mensaje+"Azul";
}
etiResultado.setText(mensaje);
una vez ejecutado el programa se selecciona una de las opciones y despues se
pulsa el boton Aceptar y el resultado se vera asi:

los botones de opcion se utilizan cuando se requiere que el usuario solo elija
una de la opciones entre varias.

EJERCICIO 3 CUADROS DE LISTA


En la ventana principal debes aadir lo siguiente:
a. Un botn Aceptar llamado btnAceptar.
b. Una etiqueta con borde llamada etiResultado.
c. Aade un cuadro de lista. Los cuadros de listas son objetos JList.
d. Se cambian los nombres de los items en la lista de tal manera que digan
lo siguiente: rojo,verde, azul,
Ahora programaremos el actionPerformed del botn Aceptar. Debes introducir el siguiente
cdigo:
String mensaje; mensaje="El color seleccionado es:
"+lstColores.getSelectedValue().toString(); etiResultado.setText(mensaje);

Puede suceder que el usuario no seleccione ningn valor del cuadro de lista, y sera
interesante en este caso que el programa avisara de ello. Cambie el cdigo del botn
Aceptar por este otro cdigo:
String mensaje;
if (lstColores.getSelectedIndex()==-1) mensaje="No hay un color seleccionado.";
} else {
mensaje="El color seleccionado es: "+lstColores.getSelectedValue().toString();
}
etiResultado.setText(mensaje);

Los objetos Jlist permiten crear una lista con elementos seleccionables

EJERCICIO 4 CUADROS COMBINADOS


En la ventana principal debes aadir lo siguiente:
a. Una etiqueta con borde llamada etiResultado.
b. Aade un cuadro combinado (combo). Los cuadros combinados son objetos del tipo
JComboBox. Bsicamente, un combo es una lista desplegable.
Ejecuta el programa y observa el funcionamiento del desplegable...
Vamos a hacer que cuando se elija un elemento del desplegable, en la etiqueta aparezca
un mensaje indicando el color elegido.
Para ello, debes programar el evento actionPerformed del combo y aadir el siguiente
cdigo:
String mensaje="El color elegido es
";mensaje=mensaje+cboColores.getSelectedItem().toString();
etiResultado.setText(mensaje);

Los cuadros combinados pueden funcionar tambin como cuadros de texto. Es decir,
pueden permitir que se escriba texto dentro de ellos. Para hacer esto, basta con cambiar
su propiedad editable y activarla.

Los cuadros combinados son listas desplegables que nos permiten


seleccionar una de las opciones propuestas.
Tambien funcionan como cuadros de texto si se activa la opcion editable en
ellos.

EJERCICIO 5 MODELOS DE CUADRO DE LISTA


En la ventana principal debes aadir lo siguiente:
a. Una etiqueta con borde llamada etiResultado.
b. Aade un cuadro de lista al formulario (Jlist).
c. Aade dos botones al formulario. Uno de ellos tendr el texto Curso 1 y se llamar
btnCurso1 y el otro tendr el texto Curso 2 y se llamar btnCurso2.
En el evento actionPerformed del botn Curso 1 programa lo siguiente:
DefaultListModel modelo = new DefaultListModel();
modelo.addElement("Juan");
modelo.addElement("Mara");
modelo.addElement("Luis");
lstNombres.setModel(modelo);
En el evento actionPerformed del botn Curso 2 programa lo siguiente:
DefaultListModel modelo = new DefaultListModel();
modelo.addElement("Ana");
modelo.addElement("Marta");
modelo.addElement("Jose");
lstNombres.setModel(modelo);
Ahora aade el siguiente cdigo al evento mouseClicked del cuadro de lista:
etiResultado.setText(lstNombres.getSelectedValue().toString());

Esta instruccin hace que al seleccionar un elemento del cuadro de lista ste aparezca en
la etiqueta etiResultado. Recuerda que el mtodo getSelectedValue permite recoger el
elemento seleccionado (hay que convertirlo a cadena con toString).

Un cuadro de lista es un objeto que contiene a su vez otro objeto llamado modelo
dicho objeto es que el realmente tiene los datos de la lista.
Se puede crear un modelo y luego introducir los datos en el.

EJERCICIO 6 MODELOS DE CUADRO DE LISTA


En la ventana principal debes aadir lo siguiente:
a. Un combo llamado cboNumeros.
b. Un botn Pares llamado btnPares.
c. Un botn Impares llamado btnImpares.
d. Una etiqueta con borde llamada etiResultado.

En el evento actionPerformed del botn Pares, programa lo siguiente:


int i; DefaultComboBoxModel modelo = new DefaultComboBoxModel();
for (i=0;i<10;i+=2) {
modelo.addElement("N "+i);
}
cboNumeros.setModel(modelo);

El botn Impares es similar. Programa su actionPerformed como sigue:


int i;
DefaultComboBoxModel modelo = new DefaultComboBoxModel();
for (i=1;i<10;i+=2) {
modelo.addElement("N "+i);
}
cboNumeros.setModel(modelo);

Finalmente se programar el actionPerformed del combo para que al seleccionar un


elemento este aparezca en la etiqueta. Esto se hace con una simple instruccin:
etiResultado.setText(cboNumeros.getSelectedItem().toString());

Un cobinado contiene al igual que los cuadros de lista un objeto llamado modelo,se
puede hacer una asociacion de un modelo con el combo de esta manera se puede
cambiar mel contenido del combo en cualquier momento.

EJERCICIO 7 - TOGGLEBUTTONS

Crears una ventana como la que sigue teniendo en cuenta lo siguiente:


a. Se aadir una etiqueta con el texto Precio Base. No hace falta cambiarle su nombre.
b. Se aadir un cuadro de texto llamado txtPrecioBase.
c. Se crear un botn Calcular, llamado btnCalcular.
d. Se crear una etiqueta vaca y con borde llamada etiTotal. Use la propiedad font de
esta etiqueta para hacer que el texto tenga un mayor tamao.
e. Debes aadir tambin tres botones, con el texto Instalacin, Formacin y
Alimentacin BD respectivamente.
f. Aade finalmente tres etiquetas conteniendo los nmeros 40, 200, 200. La primera se
llamar etiPrecioInstalacion, la segunda etiPrecioFormacion y la tercera
etiPrecioAlimentacionBD.
As pues, se programar el actionPerformed del botn Calcular de la siguiente forma:
double
double
double
double

precio_base;
precio_instal; //precio instalacin
precio_for; //precio formacion
precio_ali; //precio alimentacion

//Recojo datos desde la ventana:


precio_base = Double.parseDouble(txtPrecioBase.getText());
precio_instal = Double.parseDouble(etiPrecioInstalacion.getText());
precio_for = Double.parseDouble(etiPrecioFormacion.getText());
precio_ali = Double.parseDouble(etiPrecioAlimentacionBD.getText());
//Ahora que tengo los datos, puedo hacer clculos.
//Al precio base se le van aadiendo precio de extras
//segn estn o no activados los JToggleButtons
double precio_total;
precio_total = precio_base;
if (tbtnInstalacion.isSelected()) { //Si se seleccion instalacin
precio_total = precio_total+precio_instal;
}
if (tbtnFormacion.isSelected()) { //Si se seleccion formacin
precio_total = precio_total+precio_for;
}
if (tbtnAlimentacionBD.isSelected()) { //Si se seleccion Alimentacin BD
precio_total = precio_total+precio_ali;
}
//Finalmente pongo el resultado en la etiqueta
etiTotal.setText(precio_total+" ");

Finalmente el resultado se muestra en la etiqueta de total.

Los Jtogglebutton son botones que pueden quedarse seleccionados, estos botones
no son muy usados ya que se sustituyen por los cuadros de verificacion que son
mas conocidos

EJERCICIO 8 - SLIDERS
a. Aade en l un JSLider.
b. Aade una etiqueta con borde. Su nombre ser etiValor.
c. El valor mnimo y mximo del JSlider se puede cambiar. Busca las propiedades
maximum y minimum del JSlider y asigna los siguientes valores:
Mximo: 500 Mnimo: 100
d. Se puede asignar un valor inicial al JSlider a travs de su propiedad value. Busque esta
propiedad y asigne un valor de 400. Observe donde se sita el recuadro del Jslider.
e. Se puede mejorar el JSlider definiendo unas divisiones (medidas) Por ejemplo,
haremos que cada 50 unidades aparezca una divisin. Para ello use la propiedad
majorTickSpacing y asigne un 50.
f. Esto, en realidad, no produce ningn cambio en el JSlider. Para que las divisiones se
vean, es necesario que active tambin la propiedad paintTicks. Esta propiedad pintar
divisiones en el Jslider.
g. An se puede mejorar la presentacin del JSlider, si hacemos que aparezca el valor de
cada divisin. Para ello debes activar la propiedad paintLabel.
h. Ahora se pretende que cuando el usuario arrastre el deslizador, en la etiqueta aparezca
el valor correspondiente. Para ello tendr que programar el evento stateChanged del
JSlider.
etiValor.setText("El valor es: "+slDeslizador.getValue());

Los slider son objetos deslizadores los cuales permiten elegir un valor arrastrando
un pequeo recuadro de derecha a izquierda o viceversa.

EJERCICIO 9 SPINNER
a. Aade en l un JSpinner. Su nombre ser spiValor
b. Aade una etiqueta con borde. Su nombre ser etiValor.
c. Interesa que cuando cambie el JSpinner aparezca el valor correspondiente
dentro de la etiqueta. Para ello, tendr que programar el evento stateChanged del
JSpinner.
d. En el evento stateChanged introduzca el siguiente cdigo:
etiValor.setText("El valor es: "+spiValor.getValue().toString());

e. Entra dentro del cdigo del programa y, dentro del constructor, aade este cdigo
debajo de initComponents:
SpinnerNumberModel nm = new SpinnerNumberModel();
nm.setMaximum(10);
nm.setMinimum(0);
spiValor.setModel(nm);

Los Jspinners son objetos que permiten escoger un numero ya sea escribiendolo
en el recuadro o bien con dos botones triangulares que permiten disminuir o
aumentar el valor actual.
El modelo del Jspinner permite definir el valor minimo y maximo asi como el
intervalo en el aumento de los valores.

EJERCICIO 10 BARRAS DE DESPLAZAMIENTO


a. Aade en el proyecto una barra de desplazamiento (JScrollBar)
b.La barra de desplazamiento aparecer en vertical. Use la propiedad de la barra
llamada Orientation para hacer que la barra aparezca en posicin horizontal.
c. Aade tambin una etiqueta con borde y llmala etiValor.
d. Interesa que cuando el usuario cambie de alguna manera la barra de desplazamiento,
en la etiqueta aparezca el valor de la barra.
Para ello, se debe programar el evento AdjustmentValueChanged de la barra de
desplazamiento.
En este evento programa lo siguiente:
etiValor.setText("El valor es: "+desValor.getValue());

e. cambialas siguientes propiedades de tu barra:


Minimum Permite asignar el valor mnimo de la barra. Escribe un 50
Maximum Permite asignar el valor mximo de la barra. Escribe un 150
UnitIncrement Permite cambiar el incremento unitario. Escribe un 2.
BlockIncrement Permite cambiar el incremento en bloque. Escribe un 20.
VisibleAmount Permite cambiar el ancho del recuadro de la barra. Escribe un 5

.El valor maximo mostrado es 145 ya que el ancho del recuadro es de 5 entonces:
valor maximo de la barra-ancho del recuadro 150-5=145
Las JscrollBars son barras de desplazamiento independientes y tienen un valor
concreto el cual puede ser obtenido mediante el metodo getvalue.

EJERCICIO 11 BARRA DE MENUS


a. Aade a tu ventana un objeto JMenuBar
b. En el inspector (parte inferior izquierda) observars como aparece un objeto JMenuBar,
y, dentro de l, un objeto del tipo JMenu. Los objetos JMenu representan las opciones
principales contenidas dentro de la barra de mens.
c. Ahora, la nica opcin de la barra de mens muestra el texto Menu. Esto se puede
cambiar seleccionndola y cambiando su propiedad text. Asgnale el texto Archivo a la
opcin del men:
d. Puedes aadir ms opciones principales a la barra de mens haciendo clic con el
derecho sobre el objeto de la barra de mens y activando la opcin Aadir JMenu.Aada
dos opciones ms a la barra de mens.
e. Cambia los textos de ambas opciones. Sus textos sern: Edicin e Insertar.
f. Haz clic con el botn derecho sobre el objeto menuArchivo y activa la opcin Aadir
JmenuItem,Aade un JMenuItem ms al menuArchivo ,sa ahora la propiedad Text de
ambos JMenuItem para asignarles un texto. El primero tendr el texto Abrir y el segundo
el texto Guardar.

g. Seguiremos aadiendo elementos al men. Ahora haga clic con el derecho sobre el
elemento menuArchivo y aada un Jseparator.
h. Aada un nuevo JMenuItem al men Archivo y ponle el nombre menuSalir. El texto de
esta opcin ser Salir (use su propiedad text).

i. un JMenu puede contener a otros JMenu, que a su vez contendrn varios JMenuItem.
Usando el botn derecho del ratn y la opcin Aadir, aade un JMenu dentro de
menuEdicion
j. Llama al nuevo JMenu menuColores y asignale el texto Colores.
Ahora aade dentro del menuColores tres JMenuItem llamados respectivamente:
menuItemRojo, menuItemVerde, menuItemAzul. Sus textos sern Rojo, Verde y Azul.

k. Marque en el inspector el objeto menuItemRojo y acceda a su evento ActionPerformed.


Dentro de l programe este sencillo cdigo:
this.getContentPane().setBackground(Color.RED);
Este cdigo cambia el color de fondo de la ventana a rojo.
Programa tu mismo las opciones Verde y Azul.

Las barras de menus son un conjunto de distintos tipos que se contienen unos a
los otros.
La barra contiene opciones principales representadas por objetos Jmenu
un Jmenu pueden contener otros Jmenu que a su vez pueden contener
JmenuItems.

EJERCICIO 12 BARRAS DE HERRAMIENTAS


a. Aade a tu ventana un objeto JmenuBar (una barra de mens)
b. Debajo de la barra de mens colocaremos una barra de herramientas, as que aade
un objeto del tipo JToolBar. Haz que la barra se coloque debajo de la barra de mens y
que alcance desde la parte izquierda de la ventana a la parte derecha.
c.aade cuatro botones (JButton) dentro de la barra. Solo tienes que colocarlos dentro de
ella.
d. Cambia el texto de los botones. Estos contendrn el texto: Uno, Dos, Tres y
Cuatro.
e. La forma de programar cada botn no vara, aunque estos se encuentren dentro de la
barra herramientas. Solo hay que seleccionar el botn y acceder a su evento
actionPerformed.
Solo como demostracin de esto ltimo, entra en el actionPerformed del primer botn y
programa esto:
JOptionPane.showMessageDialog(null,"Activaste el botn uno");

Los botones de la barra de herramientas normalmente no contienen texto, sino que


contienen un icono que representa la funcin que realiza. La forma de colocar un icono
dentro de un botn es a travs de su propiedad icon.
A travs de la propiedad icon de un botn podr seleccionar un fichero de imagen que
contenga la imagen a mostrar en el botn.

Las barras de herramientas son simplemente contenedores de objetos


normalmente botones.
Lo normal es hacer que los botones tengan iconos y no texto.

EJERCICIO 13 MENUS EMERGENTES


a. No hace falta que aada nada a la ventana.
b. Programaremos la pulsacin del ratn sobre el formulario, as que haga clic sobre el
formulario y active el evento mouseClicked.
Observe el cdigo del evento:
private void formMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}

Este evento recibe como parmetro un objeto llamado evt del tipo MouseEvent (en rojo en
el cdigo) que nos permite saber en qu condiciones se hizo clic.
c. Dentro del evento programe lo siguiente:
if (evt.getButton()==1) {
JOptionPane.showMessageDialog(null,"Pulso el izquierdo");
} else if (evt.getButton()==2) {
JOptionPane.showMessageDialog(null,"Pulso el central");
} else if (evt.getButton()==3) {
JOptionPane.showMessageDialog(null,"Pulso el derecho");
}

se usa el mtodo getButton del objeto evt para saber qu botn se puls. El mtodo
getButton devuelve un entero que puede ser 1, 2 o 3 segn el botn pulsado.
d. Agrega a tu formulario un objeto del tipo JPopupMenu. Estos objetos definen mens
emergentes.
e. Aada al men emergente tres JMenuItem, y asgneles los siguientes nombres a
cada uno: menuRojo, menuVerde, menuAzul.Asignars los siguientes textos: Rojo,
Verde y Azul.
f. El men emergente ya est construido. Ahora tenemos que hacer que aparezca cuando
el usuario pulse el botn derecho del ratn sobre el formulario. Para ello, entraremos de
nuevo en el evento mouseClicked del formulario y cambiaremos su cdigo por el
siguiente:
menuEmergente.show(this,evt.getX(),evt.getY());

g.Al hacer clic con el derecho se mostrar el men contextual.Para hacer que al pulsarse
una opcin suceda algo, solo hay que activar el mtodo actionPerformed del JMenuItem
correspondiente. Por ejemplo, active el actionPerformed del menuRojo y dentro programe
lo siguiente:
this.getContentPane().setBackground(Color.RED);

los menus contextuales son objetos del tipo Jpopmenu, para hacer que aparezca
hay que programar el evento mouseclicked en el objeto donde se quiere que
aparezca

EJERCICIO 14 FILECHOOSER
Aade en el proyecto los siguientes elementos:
a. Una barra de mens. Llmala barraMenus.
b. Dentro de ella una opcin Archivo llamada menuArchivo.
c. Dentro de la opcin Archivo, introduce los siguientes elementos:
- Una opcin Abrir, llamada menuAbrir.
- Un separador (llmalo como quieras)
- Una opcin Salir, llamada menuSalir.
d. Para que al pulsar la opcin Abrir de nuestro programa aparezca el dilogo de
apertura de ficheros, es necesario aadir a nuestro programa un objeto del tipo
JFileChooser.
e. Una vez hecho esto, ya podemos programar la opcin Abrir del men. Activa el evento
actionPerformed de la opcin Abrir y programa dentro de l lo siguiente:
int resp;
resp=elegirFichero.showOpenDialog(this);
if (resp==JFileChooser.APPROVE_OPTION)
{
JOptionPane.showMessageDialog(null,elegirFichero.getSelectedFile(
).toString());
} else if (resp==JFileChooser.CANCEL_OPTION) {
JOptionPane.showMessageDialog(null,"Se puls la opcin Cancelar");
}

Ejecuta el cdigo y prueba la opcin Abrir del men. Prueba a elegir algn fichero y
abrirlo. Prueba a cancelar la ventana de apertura. Etc

Los objetos JfileChooser permiten abrir el cuadro de dialogo abrir ficheroo


guardad fichero.
Estos objetos no abren o guardan ficheros solo permiten elegir el fichero.

EJERCICIO 15 PANEL DE DESPLAZAMIENTO


a. Aade en el proyecto un JScrollPane.
b. Un JScrollPane, por s mismo, no contiene nada. Es necesario aadir dentro de l el
objeto que contendr. Para nuestro ejemplo aadiremos dentro de l una etiqueta (Jlabel).
c. Observa como tienes un JScrollPane que contiene una etiqueta.
Aprovechemos el Inspector para cambiar el nombre a cada objeto. Al JScrollPane le
llamaremos scpImagen y a la etiqueta etiImagen.
Elimina el texto contenido en la etiqueta etiImagen. Solo tienes que borrar el contenido de
la propiedad text.
d. Luego introduciremos una imagen dentro de la etiqueta, a travs de la propiedad icon.
La imagen la introduciremos desde fichero, y elegiremos la siguiente imagen de tu disco
duro:
Mis Documentos / Mis Imgenes / Imgenes de Muestra / Nenfares.jpg
Esta imagen es tan grande que no se podr ver entera dentro del panel de
desplazamiento.

Los JScrollPane no solo estn diseados para contener imgenes. Pueden contener
cualquier otro elemento. Vamos a ver, con otro proyecto de ejemplo, otro uso de los
JscrollPane.
a. Aade a la ventana una etiqueta con el texto Ejemplo 2 de JScrollPane y un
JScrollPane de forma que est asociado a los lmites de la ventana.
b. Ahora aade dentro del JScrollPane un panel normal (JPanel). En la ventana no
notars ninguna diferencia,checar el inspector.
Como ves, el JScrollPane contiene a un objeto Jpanel.
Aprovechemos para cambiar el nombre a ambos objetos. Al JScrollPane lo llamaremos
scpDatos y al JPanel lo llamaremos panelDatos.
c. En la pantalla aparecer nicamente el JPanel, para que puede ser diseado aparte de
la ventana completa.
Para distinguirlo de lo que es en s la ventana, haremos las siguientes cosas con el panel:
Cambia el color de fondo y asgnale un color verde.
Aade en l una etiqueta con el texto Panel de Datos.
Aade varias etiquetas y cuadros de textos correspondientes a los das de la semana.
Agranda el panel.

El JPanel contenido en el JScrollPane es ms grande que l, por lo que no se


podr visualizar completamente. Ser necesario usar las barras de
desplazamiento del JscrollPane.

Los objetos JscrollPane son paneles de desplazamiento que pueden contener


objetos de mayor tamao que el propio panel, cuando esto sucede el panel muestra
barras de desplazamiento para una visualizacin completa del contenido.

EJERCICIO 16 VARIABLES GLOBALES

a. Crea un nuevo proyecto llamado ProyectoParking. Dentro de l aade un paquete


llamado paqueteParking. Y finalmente aade un JFrame llamado Parking.
Tu clase principal es la clase Parking.
Se pretende hacer un pequeo programa que controle los coches que van entrando y van
saliendo de un parking. En todo momento el programa debe decir cuantos coches hay
dentro del parking. Se debe crear una ventana:
Esta ventana contiene lo siguiente:
- Un botn Entr un coche llamado btnEntro.
- Un botn Sali un coche llamado btnSalio.
- Un botn Reiniciar llamado btnReiniciar.
- Una etiqueta con el texto Coches en el Parking.
Una etiqueta con borde llamada etiCoches que contenga un 0.
b. Para poder controlar el nmero de coches en el Parking, es necesario que nuestra
clase principal Parking tenga una propiedad (variable global) a la que llamaremos coches.
Esta variable ser entera (int).
Esta variable contendr en todo momento los coches que hay actualmente en el
Parking. Esta variable podr ser usada desde cualquier evento.
Para crear una variable global haz clic en el botn Origen para acceder al cdigo:
Luego busca, al comienzo del cdigo una lnea que comenzar por
public class Seguida del nombre de tu clase principal Parking.
Debajo de dicha lnea es donde se programarn las propiedades de la clase (las variables
globales)
c. Cuando el programa arranque, ser necesario que la variable global coches tenga un
valor inicial. O dicho de otra forma, ser necesario inicializar la variable. Para inicializar la
variable iremos al constructor. Aade lo siguiente al cdigo:

d. Ahora que ya tenemos declarada e inicializada la variable global coches, esta puede
ser usada sin problemas desde cualquier evento que programemos.
Por ejemplo, empezaremos programando la pulsacin del botn Entr un coche. Acceda
a su evento actionPerformed y programe esto:
coches=coches+1;
etiCoches.setText(+coches);

e. Ahora programaremos el botn Sali un coche de la siguiente forma:


if (coches>0) {
coches=coches-1;
etiCoches.setText(+coches);
}

f. Finalmente se programar el botn Reiniciar. Este botn, al ser pulsado, debe colocar la
propiedad coches a cero. Programa dentro de su actionPerformed lo siguiente:
coches=0;
etiCoches.setText(0);

Simplemente introduzco el valor cero en la variable global y actualizo la etiqueta.

Las variables globales son variables que se pueden usar desde cualquier evento del
programa, estas variables se mantienen hasta que otro evento las modifique, el
inicio de estas se realizan con el constructor.

EJERCICIO 17 CENTRALIZAR CDIGO


1. Crea un nuevo proyecto en java que se llame ProyectoCalculos. Este proyecto
tendr un paquete llamado PaqueteCalculos. Y dentro de l crear un JFrame
llamado VentanaCalculos.
La venta contendr los siguientes elementos:
- Una barra de mens a la que puede llamar menuBarra.
- La barra de mens contiene un JMenu con el texto Calcular y que se puede
llamar menuCalcular
- El menuCalcular contendr tres JMenuItem, llamados respectivamente:
menuSumar, menuRestar, menuBorrar y con los textos Sumar, Restar y
Borrar.
- Una etiqueta con el texto Nmero 1. (no importa su nombre)
- Una etiqueta con el texto Nmero 2. (no importa su nombre)
- Un cuadro de texto con un 0 y con el nombre txtNumero1.
- Un cuadro de texto con un 0 y con el nombre txtNumero2.
- Una etiqueta con el nombre etiResultado.
- Un botn Sumar con el nombre btnSumar.
- Un botn Restar con el nombre btnRestar.
Un botn Borrar con el nombre btnBorrar.
Es aspecto de la ventana con todo sus elementos quedara de la siguiente forma:

el programa funcionara de la siguiente forma


1 -El usuario introducir dos nmeros en los cuadros de texto.
2.-Si pulsa el botn Sumar, se calcular la suma.
3.-Si pulsa el botn Restar, se calcular la resta.
4.-Si pulsa el botn Borrar, se borrarn ambos cuadros de texto.
5.-Si elige la opcin del men Calcular-Sumar entonces se calcular la
suma.
6.-Si elige la opcin del men Calcular-Restar entonces se calcular la
resta.
7.-Si elige la opcin del men Calcular-Borrar entonces se borrarn ambos
8cuadros de texto.
9..-Si se pulsa enter en alguno de los dos cuadros de texto se debera
calcular la suma.

Para finalizar ejecutamos el programa y comprbamos su funcionamiento en este caso


seleccionamos la opcin de sumar:

EJERCICIO 18 LAYOUTS
En este caso el ejercicio 18 trata de layouts o distribuciones esto quiere decir que se
pueden utilizar varias opciones de diseo a continuacin se les menciona los siguientes:
1.-Diseo Libre Esta distribucin viene activada por defecto en el NetBeans, y define
una distribucin de componentes en la que se respetan las distancias entre ellos cuando
la ventana cambia de tamao.
2.-AbsoluteLayout En esta distribucin el programador puede colocar cada elemento en
la posicin que desee de la ventana. Los distintos elementos mantienen su posicin
aunque la ventana cambie de tamao, lo que puede hacer que si la ventana se reduce de
tamao algunos elementos no se vean.
3.-FlowLayout En esta distribucin los elementos se colocan uno detrs de otro. Los
elementos intentarn estar dentro de la ventana aunque esta se reduzca de tamao.
4.-GridLayout Esta distribucin coloca a los elementos en filas y columnas. Los
elementos siempre estarn dentro de la ventana aunque esta se reduzca de tamao.
5.-BorderLayout Esta distribucin coloca a los elementos en zonas. Los elementos
siempre estarn dentro de la ventana aunque esta se reduzca de tamao.
Aqu se les explico los tipos de distribuciones que existe para netbeans, el que utilizaremo
en este caso en este ejercicio ser la distribucin BorderLayout para esto crearemos un
proyecto nuevo colocaremos cinco botones la ventana tendr el siguiente aspecto:

Aqu esta opcin ordena los elementos como se muestra en la imagen de aariba
ejecutamos el programa y comprobamos su funcin cabe sealar que si se ase chica la
ventana los elementos se acopla a esta al igual que si se restaura la ventana realiza lo
mismo otra de las cosas que hay que notar que sus elementos nunca salen de la ventana.
EJERCICO 19 LAYOUTS Y PANELES
En este ejercicio se pretende entender y comprender como se puede colocar
distribuciones dentro de paneles para esto realizaremos la siguiente practica y
comenzaremos:
1. Crea un nuevo proyecto en java.
Se pretende crear un proyecto con una ventana de diseo complejo. Para ello sigue los
siguiente pasos:
Se agregaran 5 paneles cada uno de estos se le colocaran dentro sus respectivos
elementos esta ser nuestro objetivo darnos cuenta de que se puede color varios paneles
con distintos layouts, para darnos cuenta de esto le podr ver en el inspector de nuestro
proyecto.
2. En primer lugar, asigna un BorderLayout al JFrame:
3. El BorderLayout divide la ventana principal en zonas. Ahora aade un panel
(JPanel) a la zona norte de la ventana. A este panel se le llamara panelTitulo.

Este caso podemos observar de todo lo que se le colocara a nuestro proyecto con sus
respectibvos panel y sus nombre para cada uno de ellos es complejo y muy extenso pero
aqu se resumio de tal forma que sea compresible.

Para comprabar el programa ejecutamos y nos podemos dar cuenta de como quedo
ordenado en este caso se agrego 5 paneles con sus elementos y vemos como quedo :

EJERCICIO 20 DILOGOS
Crea un nuevo proyecto
Se diseara un JFrame el cual contedra los siguientes elementos:
- Cuadro de texto de unidades: txtUnidades.
- Cuadro de texto de precio: txtPrecio.

Etiqueta con borde del total: etiTotal.


Botn Calcular: btnCalcular.
Botn Configuracin: btnConfiguracion.

La ventana quedara de la siguiente forma:

Empezaremos a programar se declaran dos variables globales una se llamara iva y la


otra descuento, al igual que inicializaremos las variables declaradas esto se realizara en
el constructor, despus de que hayamos programado todos los elementos
correspondientes ejecutaremos el programa y probaremos su funcionalidad :

Como podemos observar se le asign una cantidad en unidades y en precio lo calculemos


y por defecto nos lanza un cuadro de dialogo entendamos que un cuadro de dialogo
nunca lo vamos a poder minimizar ni maximizar ya que esta es la caractersticas de estos
hasta que termines con el cuadro de dialogo y cierres entonces har su cambio.
EJERCICIO 21 : DISEO DE FORMULARIOS DESDE CDIGO
VENTANA DE DISEO :La ventana de diseo es una gran herramienta que nos permite
disear formularios de forma relativamente sencilla. Simplemente tenemos que aadir los
componentes del formulario: botones, etiquetas, cuadros de textos, etc, y cambiar sus
propiedades segn nos interese.Por ejemplo, cada vez que aades un botn o una
etiqueta, se generan automticamente las instrucciones de cdigo que permiten crear
dicho botn o dicha etiqueta. Tambin se genera el cdigo que permite cambiar el texto
del botn, o cambiar el texto de la etiqueta.

Para entenderlo a un mas realizaremos el siguiente ejercicio sencillo donde explica como
se genera automticamente el cdigo si diseamos con los elementos de formulario:
Ejercicio guiado 1.
Crea un proyecto y aade en su ventana un botn (JButton), una etiqueta (JLabel) y un
cuadro de texto (JTextField).
El nombre del botn ser btnBoton, el de la etiqueta etiEtiqueta y el del cuadro de texto
txtCuadroTexto.
A continuacin asigna un texto a cada elemento. La ventana final podra tener un aspecto
como el que sigue:
Posteriotmente ejecutamos para ver simplemente y darnos cuenta del cdigo generado
automticamente:

EJERCICO 21 EJEMPLO 2
Ene ste ejercico se explicara como crear un programa sin utilzar la ventana de diseo esto
nos permitira el control total de los componetes :
Empesaremos con lo siguinte acontinuacion
1. Crear un nuevo proyecto con las siguientes caractersticas:
a. El nombre del proyecto ser OPERACIONES.
b. El nombre del paquete ser VENTANAS.
c. El nombre del formulario ser VENTANAPRINCIPAL.
para comenzar crearemos un mtodo el cual se llamara creacin ventana esto se ara
desde el cdigo en la parte del constructor despus se le asigina algunas caractersticas a
la ventana como por ejemplo el tamaano la posicin y el titulo esto se hara con la
palabra resevada this.
2. Ahora agrega este cdigo a tu mtodo CreacionVentana:

3. La explicacin del cdigo es la siguiente:


- La primera lnea construye la etiqueta llamada etiNum1 que fue delarada antes.
etiNum1 = new JLabel();
- Generalizando: para crear un objeto llamado xxx del tipo tipoobjeto, se tendr
que hacer lo siguiente:
o En la zona de las variables globales se declarar la variable del objeto
de la siguiente forma:
tipoobjeto xxx;

Luego, dentro de la clase, se construye el objeto siguiendo la siguiente


sintaxis:
xxx = new tipoobjeto();
En el ejemplo, la etiqueta creada, cuyo nombre es etiNum1, tiene que contener
el texto Nmero 1:. Esto lo hacemos con el tpico mtodo setText:
o

etiNum1.setText(Nmero 1: );
Hay que definir la posicin que tendr el objeto y el tamao. Para ello, se usar
el mtodo setBounds. Este mtodo recibe la posicin (x, y) del objeto y el
ancho y el alto. En el ejemplo, la etiqueta est situada en la posicin (10,10) de
la ventana y tiene un ancho de 100 y un alto de 20:

etiNum1.setBounds(10,10,100,20);
Finalmente, hay que colocar la etiqueta en el panel de contenidos de la
ventana. Para ello, se usa el mtodo add del panel de contenidos. Recuerda
que para obtener este panel se usa el mtodo getContentPane:

this.getContentPane().add(etiNum1);
4. Es buena idea que ejecutes el programa para ver el aspecto de la ventana ahora.
5. Hemos aadido una etiqueta. Ahora aadiremos la siguiente. Para ello, primero
tienes que declarar la etiqueta en la zona de las variables globales:

6. Luego, en el mtodo ConstruirVentana, aadiremos el siguiente cdigo:


7. Este cdigo es prcticamente igual al anterior. En l se constuye la etiqueta
declarada antes con el nombre etiNum2. Luego se le asigna el texto Nmero 2:,
luego se usa el mtodo setBounds para situarla en la posicin (10, 60) y asignarle
un ancho de 100 y un alto de 20. Finalmente se aade la etiqueta al panel de
contenidos de la ventana.

Despus de aver programado todos los elementos ejecutamos el programa a qui


interesa que se puede hacer todo desde el cdigo y solo para que quede claro
cmo queda el tamao de la ventana y de los botones al igual que de las etiquetas

aqu an no se program los eventos de los botones sumar y resatr esto se ara en
la siguiente practica

EJERCICIO 22 EVENTOS DESDE CDIGO


Como hemos mencionado en el ejercicio anterior programaremos los botones de sumar y
restar del ejercicio anterior esto lo aremos desde su eventos
Bueno programaremos el evento en el botn sumar;

1. Es precisamente en este nuevo procedimiento que hemos creado donde se


programa el evento actionPerformed del botn btnSumar. Lo que se pretende que
haga el programa es que aparezca un JOptionPane con la suma de los nmeros
introducidos. Para ello, aade el siguiente cdigo:

Luego se programa el evento en el boton restar


Se definira el evento en el metodo que es creacion ventana de la siguinte forma :
btnRestar.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent evt) {


btnRestarActionPerformed(evt);
}
});
Bueno prcticamente este codigo va a ser idntico al de btnsumar solo cambiara por el
nombre de resta y posteriormente corremos el programa para ver su funcionamiento:

EJERCICIO 23 EVENTOS DESDE CDIGO. EVENTOS DE RATN


Comenzaremos creando un nuevo proyecto

Como le hemos hecho anteriormente vamos a programar desde el codigo del proyecto
1. Inserta una llamada dentro del constructor a un procedimiento CreacionVentana de
la siguiente forma:
2. La ventana va a contener dos etiquetas, que tendremos que declarar en la zona de
variables globales:

3. Ahora vamos a disear la ventana. Introduce el siguiente cdigo dentro del


procedimiento CreacionVentana:
Despues se programara los eventos del raton con el siguinte codigo
1. Primero programaremos el enlace del adaptador MouseAdapter con la etiqueta
etiZona. Programa al final del mtodo CreacionVentana lo siguiente:
Luego se programa el procedimiento
2. Ahora se programar cada procedimiento que es llamado desde cada evento.
Recuerda que esto debe hacerse fuera del mtodo CreacinVentana. Aqu tienes
lo que debes programar:
Corremos el progrma y vemos su funcionamiento cuado pasamos el puntero por
en medio del cuadro automaicamente dice que entro el raton a la etiqueta al igual
que tambien si salimos de la etiqueta como tambien si pulsamos dentro de ella con
el boton izquierdo y dercho.

Ejercicio 24 : EVENTOS DESDE CDIGO. IDEAS GENERALES (no hay)


Eventos desde cdigo. Consideraciones Generales
Se finalizar el estudio de los eventos desde cdigo, planteando de forma general el
cdigo necesario para programarlos.A la hora de programar eventos sobre un
componente concreto, ser necesario tener en cuenta lo siguiente:
- Primero hay que enlazar el componente con el oyente o adaptador
correspondiente al evento.
- El oyente o adaptador contendr aquellos eventos que interesen programar.
- Cada evento tiene un parmetro asociado con informacin sobre el evento.
- Cada evento realiza una llamada a un procedimiento y es en este procedimiento
donde se programa la respuesta al evento.
La sintaxis general de programacin de eventos es la siguiente:

Componente.MetodoParaAadirOyente(new TipoOyente() {
public void evento1(TipoEvento evt) {
LlamadaAProcedimiento1(evt);
}
public void evento2(TipoEvento evt) {
LlamadaAProcedimiento2(evt);
}
...otros eventos...

});
Para poder programar un evento es necesario conocer lo siguiente:
- El componente sobre el que se programar.
- El tipo oyente o adaptador al que pertenece el evento.
- El mtodo usado para asignar el oyente al componente.
- El nombre del evento.
- El tipo de evento para el parmetro.

Ejemplo 1. Eventos del Ratn


Los eventos de ratn son: mouseEntered, mouseExited, mousePressed, mouseReleased,
mouseClicked.
Pertenecen al adaptador MouseAdapter.
El adaptador se asigna al componente con el mtodo addMouseListener.
Los mtodos llevan como parmetro un objeto del tipo MouseEvent.
Conociendo esto, si queremos programar los eventos del ratn de una etiqueta llamada
etiTexto, solo tenemos que hacer lo siguiente:

etiTexto.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent evt) {
etiTextoMouseEntered(evt);
}
public void mouseExited(MouseEvent evt) {
etiTextoMouseExited(evt);
}
public void mousePressed(MouseEvent evt) {
etiTextoMousePressed(evt);
}
public void mouseReleased(MouseEvent evt) {
etiTextoMouseReleased(evt);
}
public void mouseClicked(MouseEvent evt) {
etiTextoMouseClicked(evt);
}
});

Ejemplo 2. Eventos del teclado


Los eventos de teclado controlan las pulsaciones de tecla. Entre ellos, podemos
mencionar a los siguientes:
- keyPressed, que define la pulsacin de una tecla.
- keyReleased, que define el momento en que se suelta una tecla.
- keyTyped, que define el pulsar-soltar una tecla.
Los eventos de teclado pertenecen al adaptador KeyAdapter.
El adaptador anterior se asigna a un componente a travs del mtodo addKeyListener.
Los eventos de teclado llevan como parmetro un objeto del tipo KeyEvent.

Sabiendo lo anterior, si se quisieran programar los eventos de teclado de un cuadro de


texto llamado txtDato el cdigo necesario sera el siguiente:
txtDato.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
txtDatoKeyPressed(evt);
}
public void keyReleased(KeyEvent evt) {
txtDatoKeyReleased(evt);
}

});

public void keyTyped(KeyEvent evt) {


txtDatoKeyTyped(evt);
}

Como puedes observar, la programacin de eventos siempre se hace de la misma forma,


solo tienes que conocer el adaptador/oyente, el mtodo para asignar dicho
adaptador/oyente, el nombre de los eventos, y el tipo de objeto que llevan como parmetro.
Sabiendo estos datos, la programacin siempre se hace igual.
El problema que se plantea en cambio es el siguiente:
Si surge un nuevo evento X el cual quiero usar desde cdigo, cmo puedo saber cual es
su adaptador/oyente, el mtodo para asignar dicho adaptador/oyente al componente, y el
tipo de datos del parmetro?
Para este caso, se aconseja crear un proyecto de prueba desde la ventana de diseo y
asignar el evento X que se quiere estudiar a un componente. Luego simplemente hay que
analizar el cdigo generado por el NetBeans.
CONCLUSIN:
Para programar desde cdigo un evento es necesario conocer lo siguiente:
* El nombre del evento / eventos del mismo grupo.
* El oyente/adaptador al que pertenece el evento / eventos.
* El mtodo para asignar el oyente/adaptador al componente sobre el que acta el evento.
* El tipo de datos de objeto recibido como parmetro por el evento.
Conociendo estos datos, la programacin siempre se hace igual:

Componente.MetodoParaAadirOyente(new NombreOyenteAdaptador() {
public void nombreEvento1(TipoDatoParametro evt) {
LlamadaAProcedimientoEvento1(evt);
}
public void nombreEvento2(TipoDatoParametro evt) {
LlamadaAProcedimientoEvento2(evt);
}
});
Se puede aprender mucho sobre los eventos asocindolos desde diseo y luego mirando
en el cdigo generado.

EJERCICIO 25 VECTORES
1. Crea un nuevo proyecto en java.
2. Empecemos definiendo desde cdigo las caractersticas de la ventana. Crearemos
el mtodo CreacionVentana, y lo llamaremos desde el constructor del proyecto:

3. Vamos a situar en la ventana 10 cuadros de verificacin (JCheckBox). Para ello,


usaremos un vector de 10 JCheckBox. Este vector se declarar en la zona de
variables globales (ser necesario aadir el tpico import):

4. La construccin de los vectores de componentes, se realiza en el mismo


constructor (en nuestro caso en el mtodo CreacinVentana, que es llamado
desde el constructor). Construiremos el vector de forma que contenga 10
JCheckBox:

5. Se acaba de construir un vector con 10 cuadros de verificacin. Ahora, es


necesario construir cada uno de los cuadros del vector y asignarle ciertas
propiedades. Esto se hace con un for que recorre los elementos del vector. (Aade
el siguiente cdigo dentro de CreacionVentana):

6. Analiza este cdigo que se acaba de aadir:


a. Observa como cada elemento del vector debe ser construido:
vcuadros[i] = new JCheckBox();

b. El texto que tendr cada elemento ser: Opcin 0, Opcin 1,


etc
vcuadros[i].setText(Opcin +i);

c. Los cuadros de verificacin se colocan uno debajo de otro. Estudia la lnea


siguiente y observa como vara la posicin vertical de cada cuadro:
vcuadros[i].setBounds(10, 10+30*i,

100, 20);

Ejecuta el programa y observa el resultado

Mejoraremos la presentacin le colocaremos nombres a las opciones los nombres s


emuestran a continuacin:
1. Mejoremos la presentacin de los cuadros cambiando los rtulos de cada uno.
Para ello, ser necesario usar otro vector auxiliar que contenga los textos de cada
uno de los cuadros. Modifica el cdigo anterior de forma que quede as:

2. En este cdigo puedes observar como se usa un vector de String que se crea
conteniendo 10 colores. Luego, ese vector se usa para asignar cada color al texto
de cada cuadro. Si ahora ejecutas el programa, vers que cada cuadro tiene su
texto correspondiente a un color.

3. Ahora aade un botn con su evento actionPerformed. Aade en la zona de


variables globales lo siguiente:

JButton btnAceptar;
Y luego, dentro de CreacionVentana, aade el siguiente cdigo:

4. Ahora programaremos la respuesta al evento actionPerformed de forma que el


programa diga cuantos cuadros hay seleccionados. Para ello, se tendr que
programar el procedimiento btnAceptarActionPerformed, cuya llamada se
encuentra en el cdigo anterior (la lnea que da error):
As pues, fuera de CreacionVentana, programa el siguiente procedimiento:

En este cdigo se puede observar cmo se usa un for para recorrer fcilmente el vector
de cuadros y averiguar cules de ellos est activado. Aumentamos un contador y lo
dems es sencillo.
Si este programa se hubiera hecho desde diseo, el cdigo para contar el nmero de
cuadros activados sera mucho ms engorroso. Pinsalo.
Ejecuta el programa. Selecciona varios cuadros y pulsa el botn Aceptar. Observa el
resultado:

EJERCICIO 26 : VECTORES Y EVENTOS


.Crea un nuevo proyecto en java.
.Empecemos definiendo desde cdigo las caractersticas de la ventana. Crearemos el
mtodo CreacionVentana, y lo llamaremos desde el constructor del proyecto:

1. Vamos a situar en la ventana 5 botones, y para ello usaremos un vector de


botones, que tendremos que declarar en la zona de variables globales:

1. Dentro del procedimiento CreacionVentana construiremos el vector y


construiremos cada uno de los botones que contiene, asignando las distintas
caractersticas de cada uno. Debes aadir el siguiente cdigo a CreacionVentana:

1. Ahora, interesara asignar un evento actionPerformed a cada botn. Esto se har


aprovechando el que todos los botones pertenezcan a un vector, usando un bucle
for. Aade el siguiente cdigo al final de CreacionVentana:

Este cdigo asigna a cada botn un evento actionPerformed que hace una llamada
a un procedimiento al que se le ha llamado botonesActionPerformed. (Esta
llamada da error porque an no ha sido programado el procedimiento. Esto se
har a continuacin.)
Hay que tener en cuenta que cuando se pulse cualquiera de los botones, se
ejecutar el procedimiento botonesActionPerformed. Programa este procedimiento
(fuera de CreacionVentana, por supuesto) de la siguiente forma:

Ejecuta el programa y observa el resultado. Cuando pulsas cualquiera de los botones, se


ejecuta la respuesta al evento y esta lo que hace es mostrar un mensaje a travs de un
JOptionPane donde aparece el texto Has pulsado uno de los botones.
El procedimiento botonesActionPerformed sirve como respuesta para todos los botones.
El problema que plantea esto es, cmo saber qu botn se ha pulsado? Es aqu donde
entra en funcionamiento el parmetro evt que suelen llevar todos los eventos.
Modifica el procedimiento botonesActionPerformed de forma que quede as:

Y para finalizar se ejecuta el programa y observamos su funcionamiento:

Anda mungkin juga menyukai