0% encontró este documento útil (0 votos)
9 vistas20 páginas

Tutorial de Swing en NetBeans

El documento describe cómo crear interfaces gráficas en NetBeans usando Swing. Explica conceptos como JFrames, etiquetas, botones, cajas de texto y cómo manipular eventos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas20 páginas

Tutorial de Swing en NetBeans

El documento describe cómo crear interfaces gráficas en NetBeans usando Swing. Explica conceptos como JFrames, etiquetas, botones, cajas de texto y cómo manipular eventos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Marcela Schindler Nualart 1

Swing con Netbeans


Ver tutoriales de Boris berkley en youtube interfaz grafica Netbeans (revisarlos todos los de java, interfaz grafica).
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]


Para trabajar con la parte grfica cuando trabajemos en Netbeans ser con programas JFrame Form (ya no Java class)
Dentro de la aplicacin donde tenemos los programas, al crear uno nuevo ser New programs JFrame Form.

Pngale nombre al programa swing1
Aparece una ventana con un rectngulo vacio, es el rea de diseo de la ventana y al lado derecho una Paleta con men
de opciones de herramientas a usar en el Frame.
El rectngulo es el esquema de lo que se ver en la pantalla, el diseo, el frame
Dentro de las opciones de la Paleta estn las de swing control que usaremos

Marcela Schindler Nualart 2

Estos controles son distintas herramientas para poner en el frame como botones, scroll, leyendas, cajones que leern
informacin, entre otras
Las que ms usaremos son:
Label: etiqueta que sirve para mostrar un texto. Por ejemplo: Ingresa un nmero:
Textfield: campo que sirve para leer informacin ingresada por el usuario.
Button: botn que al presionar hace algo.
Un tem que puede ser seleccionado o no
tem para seleccionar unidades
Un tem que puede ser seleccionado o no
tem que permite seleccionar entre una lista de opciones.






Marcela Schindler Nualart 3

Ejemplo 1
Tome la que dice Label y arrstrela a la ventana. Lo mismo para Button y TextFiel, ordnelas como se muestra en la
figura.


Cambiar el texto label1, con el cual se ver en pantalla Muestra, eso se hace haciendo un clic en el elemento, aparece
un men y selecciona Edit Text: y digitar Muestra.
De la misma forma para eliminar Texfiel1 y en Button1 se vea Presiona
Para cambiar el nombre de las variables se procede en forma similar. Para cambiar el nombre de label1 clic sobre ella y
seleccione Change Variable Name, digite lmuestra, l de label y muestra para recordar que escribe el label, para Texfieldl1
ponga texto, y para button1 boton.
Si corremos el programa con Run/Run File se ver como est quedando nuestro
programa:
Se ve una ventana con los elementos.
Si presionamos el botn no pasa nada
Cierre la ventana
Debemos codificar que es lo que queremos que haga cuando se presione el botn.
Para ello debemos presionar doble clic sobre Presiona, que nos cambiara de
lengeta de la Design a la Source.
Marcela Schindler Nualart 4



Y veremos

Nos lleva con el cursor a botonActionPerformed que es el lugar que indica el botn ha sido presionado.
En ese lugar escribimos [Link](Hola);
Que indica que en el campo texto lo seteemos, modifiquemos y que ahora aparezca Hola
Ejecutmoslo ahora con Run /RunFile y presionemos el botn Presiona


Cierre la ventana de ejecucin.
Si desea volver al esquema de Diseo seleccione la lengeta Design.
Marcela Schindler Nualart 5


Ejemplo 2


Este programa se llama swing5, es un JFrame Form
El primer label se llama l1, esta seleccionado, si ve a mano derecha en Properties se ve el nombre de la variable, el Font
modificado a 14 y muestra en pantalla Valor1
El label 2 se llama l2 y se cambio el Font a tamao 14 y bold. y muestra en pantalla Valor2
El label 3 se llama l3 y se cambio el Font a 14 e Italic y muestra en pantalla Suma.
Adems el background es verde, el cual tambin se modifica en Properties.
Las variables del programa son:
// Variables declaration - do not modify
private [Link] b1;
private [Link] l1;
private [Link] l2;
private [Link] l3;
private [Link] t1;
private [Link] t2;
private [Link] t3;
// End of variables declaration
Marcela Schindler Nualart 6

Para este programa se espera que el usuario ingrese dos nmeros, uno en cada textfield, y al
presionar el botn Calcular se muestre en el tercer textfiel la suma de ambos.
Para ello, presionar el botn calcular dos veces, nos lleva a la ventana Source, al la accin del botn b1 cuando es
ejecutado, en el mtodo actionPerformed. Aqu debemos capturar el dato del texto 1, t1, con el mtodo getText(), el
valor recibido, un string se debe transformar a doubl con el mtodo [Link]() y asignarlo a una variable
double valor1,valor2;
valor1= [Link]([Link]());

Lo mismo para recuperar el valor de t2
valor1= [Link]([Link]());

Luego sumar ambos valores y almacenarlo en una variable
valor1=valor1+valor2;
Despus el valor obtenido se debe poner en el texto t3, con el mtodo setText(String), como valor1 es double le
agregamos un espacio
[Link](valor1+);
As se ve en Source:


Si ejecutamos el cdigo se ve:
Marcela Schindler Nualart 7



Ejercicio hacer.















Marcela Schindler Nualart 8

Ejemplo 3.
Usar radiobutton, y agrupacin de botones


//
Variables declaration - do not modify
private [Link] buttonGroup1;
private [Link] ltitulo;
private [Link] ramarillo;
private [Link] razul;
private [Link] rrojo;
Si se hace doble clic en rrojo, cambiamos el color de las letras del ttulo a rojo
private void rrojoActionPerformed([Link] evt) {
[Link]([Link]); }
Si se hace doble clic en ramarillo, cambiamos el color de las letras del ttulo a rojo
private void ramarilloActionPerformed([Link] evt) {
[Link]([Link]); }
Si se hace doble clic en razul, cambiamos el color de las letras del ttulo a rojo
private void razulActionPerformed([Link] evt) {
[Link]([Link]); }

Falta seleccionar y agrupar
rrojo debe partir como seleccionado en Propiedades seleccione selected
Si se ejecuta y se selecciona amarillo, quedan ambas seleccionadas

Marcela Schindler Nualart 9

Para slo seleccionar una a la vez:
Llevar un botn de tipo Button Group a un rea de diseo vaca.
Ahora seleccione rrojo y en propiedades en button group elija buttongroup1
Hacer lo mismo para amarillo y azul.
Esto har que los tres botones estn agrupados y uno solo de ellos este seleccionado.

Ejemplo 4.
Como usar comboBox. En este ejemplo se puede elegir entre Rojo, amarillo o azul, se
despliega un rea de panel el color seleccionado.




















Marcela Schindler Nualart 10



// Variables declaration - do not modify
private [Link] jComboBox1;
private [Link] jLabel1;
private [Link] jPanel1;

Para darle tems al combo box, se debe colocar los tems en el constructor
public class swing82 extends [Link] {
public swing82() {
initComponents();
[Link]("Ingresa");
[Link]("Rojo");
[Link]("Amarillo");
[Link]("Azul");
}
Ahora hay que hacer algo por cada tem, cuando ingrese rojo el panel se pondr rojo

private void jComboBox1ActionPerformed([Link] evt) {
// TODO add your handling code here:
int indice=[Link]();
if(indice==1)
[Link]([Link]);
else if(indice==2)
[Link]([Link]);
else
if(indice==3)
[Link]([Link]);
}

Ejemplo 5
Aqu usaremos la opcion JCheckBox, que permite seleccionar o no un color si selecciona dos,
se ejecutan ambas.
Ac el panel se pinta segn la combinacin de JCheckBox seleccionados.
Marcela Schindler Nualart 11



// Variables declaration - do not modify
private [Link] amarillo;
private [Link] azul;
private [Link] jLabel1;
private [Link] jPanel1;
private [Link] rojo;

Usaremos el evento cuando se selecciona un checkbox y el mouse se mueve revisa cual es
seleccionado y se pone el panel de ese color.
private void formMouseEntered([Link] evt) {
// TODO add your handling code here:
if([Link]() && ![Link]() &&![Link]())
[Link]([Link]);
if([Link]()&&![Link]() && ![Link]())
[Link]([Link]);
if([Link]()&&![Link]()&&![Link]())
[Link]([Link]);
if([Link]() && [Link]() &&![Link]())
[Link]([Link]);
if([Link]() && [Link]()&& ! [Link]())
[Link]([Link]);
if([Link]() && [Link]() &&[Link]())
[Link](Color.DARK_GRAY);
if([Link]() && [Link]() &&![Link]())
[Link]([Link]);
if([Link]() && [Link]() && ![Link]())
[Link]([Link]); }
Marcela Schindler Nualart 12

Ejemplo 6
Usaremos spinner. Con el spinner se indica la cantidad de unidades, en el text field cual es el
precio y presionando el botn se muestra el resultado de la multiplicacin.


// Variables declaration - do not modify
private [Link] jButton1;
private [Link] jSpinner1;
private [Link] lcantidad;
private [Link] lprecio;
private [Link] lresultado;
private [Link] tprecio;

Cuando se presione el botn debe convertir la cantidad del spinner a int y el precio a int
tambin. Luego multiplicar

private void jButton1ActionPerformed([Link] evt) {
int cantidad, precio;
cantidad=[Link]([Link]().toString());
precio= [Link]([Link]().trim());
[Link](cantidad*precio+"");
}





Marcela Schindler Nualart 13

Ejemplo 7.
Lista. Se ingresan elementos a la lista, tambin se puede seleccionar de la lista elementos y
estos eliminarlos, o derechamente limpiar la lista y dejarla vaca




En este programa se usar un componente que puede seleccionar uno o ms campos de una lista, un botn para
agregar, uno que elimina un elemento de la lista que este seleccionado y uno que limpia toda la lista (los borra todos),
un textfield para leer datos.

Marcela Schindler Nualart 14

// Variables declaration - do not modify
private [Link] bagregar;
private [Link] belimimar;
private [Link] blimpiar;
private [Link] cant;
private [Link] ingresenumero;
private [Link] jList1;

private [Link] titulocantidad;
private [Link] tnumero;



Se debe declarar una variable que maneje la insercin y eliminacin de elementos en la lista, esta se debe colocar al
comienzo de la clase, como variable global
public class swing9 extends [Link] {
DefaultListModel dim=new DefaultListModel();

Para agregar un elemento se debe presionar el botn Agregar, luego en el cdigo en el
mtodo action performed del botn agregar se debe:
private void bagregarActionPerformed([Link] evt) {
//obtener el numero ingresado por el usuario en el campo de texto, para que no tome en cuenta los espacios se usa el //
mtodo trim() que los elimina
int numero=[Link]([Link]().trim()) ;
//agrega el nmero al manejador dim
[Link](numero);
//dim modifica la lista
[Link](dim);
//el campo de texto se deja vacio
[Link]("");
//vuelve el cursor a textfield para que quede esperando otro numero
[Link]();
// se obtiene la cantidad de elementos de la lista
int cantidad=[Link]();
// en el label cant se pone la cantidad
[Link](cantidad+""); }
Marcela Schindler Nualart 15


Para el botn eliminar:
private void belimimarActionPerformed([Link] evt) {
// capturamos de elementos de la lista el que esta seleccionado
int indice= [Link]();
//de dim se remueve el elemento
[Link](indice);
//se entrega el nuevo dim a lista
[Link](dim);
//el nuevo largo de lista se captura
int cantidad=[Link]();
//se modifica el label con la nueva cantidad de elementos
[Link](cantidad+""); }

Para limpiar completamente la lista y dejarla vaca
private void blimpiarActionPerformed([Link] evt) {
//elimina todos los elementos de dim
[Link]();
//el nuevo dim se agrega a lista
[Link](dim);
//el largo de dim se guarda en cantidad, podria directamente ponerse cero...
int cantidad=[Link]();
//la cantidad setea a cant
[Link](cantidad+"");
}

Ejemplo 8
Usa dos ventana, cuando se presiona el botn mostrar aparece una ventana jdialog con el
nombre y apellido juntos.


Marcela Schindler Nualart 16


En este programa debemos trabajar con dos ventanas, en una recibimos los datos y en la otra los mostramos.
La ventana Padre es un Jframe form y la ventana hijo es un jdialog (ver que en el contorno se puede solo cerrar).
Para la ventana padre:
Necesitamos 2 label, 2 textfield, un botn.
// Variables declaration - do not modify son las herramientas de swing que se usaron
private [Link] bmostrar;
private [Link] lApellido;
private [Link] lNombre;
private [Link] tapellido;
private [Link] tnombre;

Para el botn debemos recuperar el nombre y el apellido que son de tipo String y guardarlos juntos en una variable.
private void bmostrarActionPerformed([Link] evt) {
String nombre,apellido,nombreCompleto;
nombre=[Link]();
apellido=[Link]();
nombreCompleto=nombre+ " "+ apellido;
SwingHijo h = new SwingHijo(new swingPadre(),true, nombreCompleto);
[Link](true); }
Lo prximo es crear la ventana hijo y enviar el nombrecompleto
Para ello debemos crear un objeto de tipo hijo, y llamar al constructor, los parmetros quien la llama, la ventana padre,
true y el String con el nombre completo
SwingHijo h = new SwingHijo(new swingPadre(),true, nombreCompleto);
Luego debemos dejar visible esa ventana.
[Link](true);

Para la clase SwingHijo:
Debemos crear un constructor que reciba el String con el nombre completo, para eso
copiamos el ya existente
El constructor existente es:
public SwingHijo([Link] parent, boolean modal) {
super(parent, modal);
initComponents(); }
Marcela Schindler Nualart 17

Se le agrega el String, el resto se deja igual, y al label del hijo se le llena con el nombre completo al constructor nuevo
public SwingHijo([Link] parent, boolean modal,String nombreCompleto) {
super(parent, modal);
initComponents();
[Link](nombreCompleto);
}

// Variables declaration - do not modify
private [Link] jLabel1;




Ejemplo 9
Se usaran dos ventanas, en una se recopila la informacin y cuando se presiona el botn
generar se llama a la otra con los datos previos.
Este ejemplo rene los botones revisados previamente en los ejemplos.




Para la clase swingElectrodomesticos, la ventana base
Los items usados son:
// Variables declaration - do not modify
private [Link] Generar;
private [Link] Nuevo;
private [Link] Salir;
private [Link] buttonGroup1;
private [Link] jCheckBox1;
private [Link] jComboBox1;
Marcela Schindler Nualart 18

private [Link] jLabel1;
private [Link] jLabel3;
private [Link] jLabel4;
private [Link] jRadioButton1;
private [Link] jRadioButton2;
private [Link] jSpinner1;
private [Link] lcliente;
private [Link] lprecio;
private [Link] tcliente;
private [Link] tprecio;
// End of variables declaration

Donde los items jCheckBox1, ComboBox1, jRadioButton1, jSpinner1, se convinan entre ellos.

Para darle valores a los tems del comboBox en el constructor de la clase se agregan las
opciones.

public swingElectodomesticos() {
initComponents();
//llena los items del combobox, estos deben ser reconocidos
//en todas partes, luego se deben declarar en el constructor
[Link]("Seleccione");
[Link]("Televisor");
[Link]("Radio ");
[Link]("Notebook");
[Link]("Video ");
[Link]("Netbook ");
}






Lo siguiente es dada la opcin que se seleccione debe mostrarse el precio asociado a este
tem, luego aqu es importante la posicin del tem, donde la posicin es para seleccione, la
1 para Televisor.
private void jComboBox1ActionPerformed([Link] evt) {

int indice;
double precio=0.0;
indice= [Link]();

Marcela Schindler Nualart 19

switch(indice){
case 1: precio=200000;
break;
case 2: precio=80000;
break;
case 3: precio=500000;
break;
case 4: precio=100000;
break;
case 5: precio=300000;
}
[Link](precio+" ");
}

Cuando se presiona el botn Generar se debe recuperar la informacin y entregarla a la
otra ventana.

private void GenerarActionPerformed([Link] evt) {
// en este botn se debe recuperar toda la informacin y as generar la boleta o factura de pago

String cliente,producto,documento="";
double precio,subtotal,descuento,total;
int cantidad;
cliente=[Link]();
//el tem selecionado del combobox se pasa a string y se almacena en una variable
producto=[Link]().toString();
// el precio de tprecio de tipo string se convierte a double
precio=[Link]([Link]());
// el valor almacenado en el spinner se pasa a string y se convierte a entero
cantidad=[Link]([Link]().toString());

subtotal=cantidad*precio;
descuento=0;
//aqu se verifica si fue seleccionado el checkbox para hacer o no el descuento
if([Link]())
descuento=.15*subtotal;
//se verifica si es boleta o factura
if([Link]())
documento="Boleta";
else
documento="Factura";

total=subtotal-descuento;
//se crea un objeto de tipo swingElectro2 para que se cree la otra ventana, se le pasa la informacin recolectada
Marcela Schindler Nualart 20

swingElectro2 p= new swingElectro2(new swingElectodomesticos(), true, documento, cliente, producto, precio,
cantidad, subtotal, descuento, total);
//se hace visible la nueva ventana
[Link](true);
}
Si se desea crear un pedido nuevo y borrar lo ya hecho. Se vuelven los tems a cero
private void NuevoActionPerformed([Link] evt) {
[Link]("");
[Link](0);
[Link]("0.0");
[Link](0);
[Link](false);
[Link](true);
[Link]();
}
Si se desea salir y no seguir con el programa
private void SalirActionPerformed([Link] evt) {
[Link](0);
}

También podría gustarte