UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
COLEGIO DE CIENCIAS Y HUMANIDADES
PLANTEL VALLEJO
CIBERNETICA Y COMPUTACION II
PROFESORA: SARA GARCIA MARTINEZ
PRACTICA 19 Uso de tablas
ALUMNO (A):_______________________________No. DE CUENTA: __________________
GRUPO: _________ CALIF.______________
Aprendizaje: El alumno aprende a usar el componente Table
Instrucciones: Lee cuidadosamente y desarrolla cada uno de los puntos tal como se describen a
continuación.
1. Descomprime el proyecto que será proporcionado por tu profesora, el cuál contendrá la
ventana llamada Captura, crea una nueva ventana con un Jframe llamala Principal y crea
también un Java Interface llamala Comunicación. Recuerda que debes :
2. Dar botón derecho sobre el jframe y seleccionar Set Layout, null Layout
3. En el código del formulario (Source), agregar dentro del constructor y después del método
initComponents(); poner [Link](null) para la clase principal y para la
ventana Captura debe ser [Link](this) ;
4. La ventana Principal debe de tener estos elementos
5. El componente que se muestra con una flecha es un table renómbrala como tabla, entra a
la propiedad model y pon lo siguiente:
6. Los cuadros de texto de subtotal, iva y total deben llamarse: subtotal, IVA, total, en su
propiedad editable desmárcalas, no deben ser editables.
7. Renombra a los botones como: agregar, modificar, borrar y salir
8. En el boton salir de la ventana principal agrega: [Link](0); y en la ventana Captura
agrega: [Link]();
9. Recuerda que para lograr la comunicación entre las ventanas se debe agregar el
implements de la interface por lo que la ventana Principal debe quedar como:
public class Principal extends [Link] implements Comunicacion
10. Para calcular los totales de los artículos agregar el siguiente método después del método
constructor de la ventana Principal:
public void calcular(){
int nren=[Link]();
double sub=0,iva=0,tot=0;
for(int i=0; i<nren; i++){
sub=sub+ [Link](""+[Link](i,5));
}
iva=sub*0.16;
tot=sub+iva;
[Link]([Link]("%8.2f", sub));
[Link]([Link]("%8.2f", iva));
[Link]([Link]("%8.2f", tot));
}
11. Para insertar o modificar renglones de la tabla es necesario agregar el siguiente método
después del método calcular() que acabas de agregar:
public void insertar(int reg,String [] datos){
DefaultTableModel modelo = (DefaultTableModel) [Link]();
[Link](modelo);
if(reg>=0){
[Link](datos[0],reg,0);
[Link](datos[1],reg,1);
[Link](datos[2],reg,2);
[Link](datos[3],reg,3);
[Link](datos[4],reg,4);
[Link](datos[5],reg,5);
}
if (reg==-1){
[Link](datos);
}
calcular();
}
12. Si tienes problemas con la clases oprime click en el botón rojo que aparece para agregar
los imports de los errores.
13. Para borrar alguna fila de la tabla, en el botón borrar agrega las siguientes instrucciones:
int ren=[Link]();
if(ren==-1){
[Link](null, "No ha seleccionado ningún renglón,
veifique!!");
}else {
DefaultTableModel modelo = (DefaultTableModel) [Link]();
[Link](modelo);
[Link](ren);
calcular();
}
14. Para agregar artículos a la tabla en el botón Agregar inserta el siguiente código, si te dá
error en el this, no te preocupes se va a solucionar después:
Captura hija = new Captura(this);
[Link](true);
15. En el botón modificar agregar el siguiente código:
int ren= [Link]();
if(ren>=0)
{
String [] datos=new String[7];
datos[0]=""+[Link](ren, 0);
datos[1]=""+[Link](ren, 1);
datos[2]=""+[Link](ren, 2);
datos[3]=""+[Link](ren, 3);
datos[4]=""+[Link](ren, 4);
datos[5]=""+[Link](ren, 5);
datos[6]=""+ren;
Captura obj1= new Captura(this);
obj1.pasar_datos(datos);
[Link](true);
}
else
{
[Link](null, "No seleccionó renglón a modificar,
verifique!!");
}
16. Si te dá error en el método pasar_datos, no te preocupes en la ventana de Captura lo
solucionará.
17. En la interface Comunicación agregar los métodos siguientes, recuerda que son los
métodos que la ventana de Captura para actualizar a la ventana Principal
public void calcular();
public void insertar(int reg,String [] datos);
18. En la Ventana de Captura agregar una variable a nivel de clase tipo Comunicación, también
una variable fila con el valor de -1, como sigue:
private Comunicacion Nota;
private int fila=-1;
19. En el constructor de la ventana Captura se debe agregar la colaboración de Comunicación
por lo que debe quedar asi:
public Captura(Comunicacion Nota) {
initComponents();
[Link](this);
[Link]=Nota;
20. En el botón Enviar de la ventana Captura poner el siguiente código que agrega o actualiza
una fila en la tabla de la clase Principal:
try{
if([Link]()!=""&& [Link]()!="" && [Link]()>=0&&
[Link]()!="" && [Link]()!=""){
String [] datos=new String[6];
datos[0]=[Link]();
datos[1]=[Link]();
datos[2]=[Link]().toString();
datos[3]=[Link]();
datos[4]=[Link]();
datos[5]=[Link]();
[Link](fila, datos);
} else{
[Link](null, "Datos Incompletos, verifique!!");
}
}catch(Exception e){
[Link](null, "Error en datos, verifique!!");
}
[Link](0);
[Link]("");
[Link]("");
[Link](0);
[Link]("");
[Link]("");
[Link]("");
[Link]();
21. Agrega después del método constructor el siguiente método que sirve para pasar los datos
de la ventana principal a la de Captura:
public void pasar_datos(String[] datos){
[Link](datos[0]+" "+datos[1]);
[Link](datos[0]);
[Link](datos[1]);
[Link]( datos[2]);
[Link](datos[3]);
[Link](datos[4]);
[Link](datos[5]);
fila=[Link](datos[6]);
}
22. Se deberá de borrar el error en la ventana Principal que tenías.
23. En el método main de la ventana Captura debes agregar la palabra null cuando se llame a
la ventana Captura por lo que debe quedar de la siguiente forma:
public void run() {
new Captura(null).setVisible(true);
}
24. ¡¡Ya podrás realizar tus pruebas, suerte!!
25. Realiza un resumen de cada paso explicando cada uno de los métodos que se agregan en
esta práctica, muestra la práctica y el resumen cuando te califique tu profesor. Este paso
es indispensable SINO no se puede calificar la práctica.