Programación General > Java
Clase Matriz
chimps:
podes probar usando otros layouts (border, grid, gridbag, box, etc...tenes que buscar en google como usarlos pq cada uno es distinto)...o sino seteas el layout de tu frame a null, y al agregar un componente nuevo, le mandas como parametro al metodo add las coordenadas donde queres que aparezca...de esta forma los acomodas como quieras.
para hacer que cuando hagas click en un boton este desaparezca y aparezca otro, cambias su visibilidad...por ejemplo, al iniciar el programa, agregas los 2 botones, pero decis boton2.setVisible(false) para que no aparezca..despues agregas un actionListener al boton1 que haga que cuando se detecte un click del botton, haga: boton1.setVisible(false);
boton2.setVisible(true);
Eman:
:D :D :D muchas gracias, en este momento estoy trabajando en el proyecto, pro ahora lo estoy haciendo con el FlowLayOut() que es el qu eme enseñaron, pero al pareccer ago algo mal, declare 3 matrizes , 2 para ser llenadas y otr para ser el resultado, y le puse un boton para que cuando se presione aga la operacion y aparesca el resultado, no se si tengas tiempo de ver el codigo , lo que hare por ahora es usar el layout en null para ponerlo por cordenadas por practicidad y tiempo. Hojala me puedas responder jeje
PD: olle como se usar el setLayOut(null)
no se como ordenar por cordenadas y el google anda chafeando =p
Edit2: oohh el google ayudando cuando lo usas bien =p ya supe usar el setLayOut(null)
ahora lo acomodo para ver si me sale lo otro =D
Eman:
Miren aqui les dejo el codigo, lo que probe es que el boton con el nombre opc no produce accion aun cuando le estoy diciendo que sea un actionlistener, otra es que creo que estoy haciendo mal uso de lo que es la operacion con matrises ya que no pasa nada cuando deberian de hacerce operaciones
clase matriz
--- Código: Text --- public class Matriz{ int [][] m; //constructor public Matriz(int fila,int columna) { this.m=new int[fila][columna]; } }
y aqui esta todo el meollo del asunto
clase proFinal
--- Código: Text --- /*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"); } }
Lo que creo es que por falta de experiencia en programacion he de estar pasando algun truco o algo que hace que no se aga la operacion, de nuevo gracias por cualquier aportacion que puedan hacer
Edit1:Ya agregue multiplicacion de vectores usando la clase matriz y si me dio el resultado correcto supong o que el for o algo de la multiplicacion de la matriz es lo que anda mal
Navegación
[*] Página Anterior
Ir a la versión completa