/*Proyecto final de Lenguajes de programacion 4: JAVA
*Echo por: Eman
*version 1.0
*fecha:30/11/2005
*/
//---------------------------------------------------------------LIBRERIAS--------------------------------------------------------//
import java.awt.*;
import java.awt.event.*;
//-----------------------------------------------------------CLASE PRINCIPAL-------------------------------------------------//
class proFinal extends Frame implements ActionListener,WindowListener
{
//Datos miembro de la clase
private Button opc1,opc2,opc3;
private Label eti1,eti2,eti3,eti4,eti5,eti6;
private TextField edi1,edi2,edi3,edi4,edi5,edi6,edi7,edi8;
//Constructor de la clase
public proFinal(String nombre)
{
super(nombre);
setSize(800,700);
setLayout(null);
addWindowListener(this);
//LA creacion de los componentes de la clase
opc1= new Button("Opcion1");
opc1.addActionListener(this);
opc2= new Button("Opcion2");
opc3= new Button("Mul");
opc3.addActionListener(this);
eti1= new Label("1)Multiplicacion de Matrices de 2x2");
eti2= new Label("2)Multiplicacion de Vectores");
eti3= new Label("MENU DEL PROGRAMA");
eti4= new Label("Pon los valores de la primer matriz");
eti5= new Label("Pon los valores de la segunda matriz");
eti6= new Label("Matriz Resultante");
edi1= new TextField(3);
edi1.addActionListener(this);
edi2= new TextField(3);
edi2.addActionListener(this);
edi3= new TextField(3);
edi3.addActionListener(this);
edi4= new TextField(3);
edi4.addActionListener(this);
edi5= new TextField(3);
edi5.addActionListener(this);
edi6= new TextField(3);
edi6.addActionListener(this);
edi7= new TextField(3);
edi7.addActionListener(this);
edi8= new TextField(3);
edi8.addActionListener(this);
//Ponemos la cosas en el frame en un orden especifico
add(eti3);
eti3.setSize(150,30);
eti3.setLocation(250,30);
add(eti1);
eti1.setSize(200,30);
eti1.setLocation(50,60);
add(opc1);
opc1.setSize(90,25);
opc1.setLocation(300,65);
add(eti2);
eti2.setSize(90,30);
eti2.setLocation(50,90);
add(opc2);
opc2.setSize(90,25);
opc2.setLocation(300,95);
setVisible(true);
}
//Agregando los metodos miembro del WindowListener
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowOpened(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowClosing(WindowEvent e)
{
System.exit(0);//salimos del frame
}
//Ahora con los metodos del ActionListener
public void actionPerformed(ActionEvent e)
{
//datos miembro qu ese usan en la multiplicacion
int r,c,k;
//creamos una matrizes para la multiplicacion
Matriz M1= new Matriz(2,2);
Matriz M2= new Matriz(2,2);
Matriz R= new Matriz(2,2);
//Aqui es donde empieza lo bueno =D
if(e.getActionCommand().equals("Opcion1"))
{
eti1.setVisible(false);
eti2.setVisible(false);
opc1.setVisible(false);
opc2.setVisible(false);
//------------------------------------AGREGAMOS LOS CAMPOS PARA QUE LLENEN LA MATRIZ 1---------------------------------------/
add(eti4);
eti4.setSize(200,30);
eti4.setLocation(50,60);
//Agregamos los campso que tomaran los valores de la matriz 1 y 2
add(edi1);//la parte de la matriz[0][0]
edi1.setSize(30,20);
edi1.setLocation(50,90);
add(edi2);//la parte de la matriz1 [0][1]
edi2.setSize(30,20);
edi2.setLocation(90,90);
add(edi3);//la parte de la matriz1[1][0]
edi3.setSize(30,20);
edi3.setLocation(50,120);
add(edi4);//la parte de la matriz1[1][1]
edi4.setSize(30,20);
edi4.setLocation(90,120);
//---------------------------------------------ETIQUETA PARA LA SEGUNDA MATRIZ--------------------------------------------------/
add(eti5);
eti5.setSize(210,30);
eti5.setLocation(50,150);
add(edi5);//la parte de la matriz2[0][0]
edi5.setSize(30,20);
edi5.setLocation(50,180);
add(edi6);//la parte de la matriz1[0][1]
edi6.setSize(30,20);
edi6.setLocation(90,180);
add(edi7);//la parte de la matriz1[1][0]
edi7.setSize(30,20);
edi7.setLocation(50,210);
add(edi8);//la parte de la matriz1[1][1]
edi8.setSize(30,20);
edi8.setLocation(90,210);
//Bonton que activa la accion de multiplicar
add(opc3);
opc3.setSize(90,25);
opc3.setLocation(300,200);
setVisible(true);
if(e.getActionCommand().equals("Mul"))
{
//leemos los datos que se nos envian y los vaciamos en las matrizes
M1.m[0][0]=Integer.parseInt(edi1.getText());//Cambiamos de cadena a entero y ta capturamos
M1.m[0][1]=Integer.parseInt(edi2.getText());
M1.m[1][0]=Integer.parseInt(edi3.getText());
M1.m[1][1]=Integer.parseInt(edi4.getText());
M2.m[0][0]=Integer.parseInt(edi5.getText());
M2.m[0][1]=Integer.parseInt(edi6.getText());
M2.m[1][0]=Integer.parseInt(edi7.getText());
M2.m[1][1]=Integer.parseInt(edi7.getText());
//Hacemos la multiplicacion
for(r=0;r < 2;r++)
for(c=0; c< 2;c++)
for( k=0; k< 2;k++)
{
R.m[r][c] += M1.m[r][k]* M2.m[k][c];
}
add(eti6);
eti6.setSize(150,30);
eti6.setLocation(50,250);
edi1.setText(R.m[0][0]+"AAA");
/*edi2.setText(R.m[0][1]+"p2");
edi3.setText(R.m[1][0]+"");
edi4.setText(R.m[1][1]+"");*/
setVisible(true);
}
}
}
//Clase Main del programa
public static void main(String[] args)
{
proFinal obj= new proFinal("Proyecto Final");
}
}