|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - doliyubidi
Páginas: [1]
1
« en: Lunes 12 de Julio de 2010, 15:36 »
Buenas, tengo una duda sobre los Mousevent en la interfaz MouseMotionListener, quisiera saber si se puede disparar un evento en una capa que esta detrás de un componente, por ejemplo yo tengo un tablero de ajedrez, que es una matriz de la clase cuadro, usando JLayeredPane coloco los cuadros en la parte mas interior, y a las piezas en la parte superior, y ahora cuando arrastro la pieza, que es un evento del MouseDragged, como podria hacer para que se dispare el evento mouseEntered de la clase cuadro, ya que no se dispara cuando estoy arrastro la pieza; solo cuando hago esto en concreto, que es volver invisible a la pieza mientraz se arrastra, alli recien se dispara el evento de mouseEntered, y usando MouseReleased vuelvo visible a la pieza.
2
« en: Viernes 2 de Julio de 2010, 18:44 »
Ola gracias, por la rapida respuestra, pero porsiacaso esos x e y que estoy mandando al cosntructor no tienen nada que ver con las coordenandas en pixeles, sino que son las coordenadas con respecto al tablero, que pueden ir de [0,7] para X y de [0,7] para Y.
3
« en: Viernes 2 de Julio de 2010, 17:14 »
Hola, bienvenido al foro. Bueno acá sale bien. de pronto más explicación o una imagen No me permite adjuntar enlaces...: Bueno talvez te sale bien, porq en la clase test no lo has modificado, cambiando Tablero, por tablero1, alli es cuando sucede el problema y salen los JPanel sobrepuestos.
4
« en: Viernes 2 de Julio de 2010, 04:07 »
Buenas, estoy tratando de hacer un juego de ajedrez, y lo primero que hago es inicializar el tablero, al principio lo hacia con arreglo de JPanel, pero luego pense hacerlo con un arreglo de una clase que hereda a JPanel, bueno la cuestion es que antes, si me salia todo el cuadro completo del ajedrez cuando usaba el arreglo de JPanel, pero cuando lo cambie por la otra clase:"cuadro", todos los paneles me salen sobrepuestos. Esta es la clase original, la que al compilar si me muestra el tablero completo. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class tablero1 extends JFrame { public tablero1() { contenedor=getContentPane(); setSize(600,600); setDefaultCloseOperation(EXIT_ON_CLOSE); pintarCuadros(); } public void pintarCuadros() { for(int x=0;x<8;x++) { for(int y=0;y<8;y++) { if(x%2==0) { if(y%2!=0) { Cuadro [x ][y ]. setBackground(Color. BLACK); contenedor.add(Cuadro[x][y]); } else { Cuadro [x ][y ]. setBackground(Color. WHITE); contenedor.add(Cuadro[x][y]); } } else { if(y%2==0) { Cuadro [x ][y ]. setBackground(Color. BLACK); contenedor.add(Cuadro[x][y]); } else { Cuadro [x ][y ]. setBackground(Color. WHITE); contenedor.add(Cuadro[x][y]); } } } } } }
Esta es la clase principal que instancia al JFrame: public class test { public static void main (String[] args ) { tablero1 gui= new tablero1();//pra probar con al otra clase, cambiar tablero1 por Tablero gui.setVisible(true); } }
Y esta es la otra clase que hereda a JPanel( con la que pasa el problema) import javax.swing.*; import java.awt.*; public class cuadro extends JPanel { private int Y; private int X; boolean ocupado; private int pieza; public cuadro(int x,int y) { this.setLayout(null); X=x; Y=y; } public int getX() { return X; } public int getY() { return Y; } public void setX(int x) { X=x; } public void setY(int y) { Y=y; } }
y Esta es la clase que usa a cuadro(la clase que hereda a JPanel.La que me muetra el tablero con un solo cuadro, superpuestos a los siguientes. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Tablero extends JFrame { private cuadro[][] Cuadro; public Tablero() { this.setLayout(null); contenedor=getContentPane(); setSize(600,600); setDefaultCloseOperation(EXIT_ON_CLOSE); pintarCuadros(); } public void pintarCuadros() { Cuadro=new cuadro[8][8]; for(int x=0;x<8;x++) { for(int y=0;y<8;y++) { if(x%2==0) { if(y%2!=0) { Cuadro[x][y]=new cuadro(x,y); Cuadro [x ][y ]. setBackground(Color. BLACK); contenedor.add(Cuadro[x][y]); } else { Cuadro[x][y]=new cuadro(x,y); Cuadro [x ][y ]. setBackground(Color. WHITE); contenedor.add(Cuadro[x][y]); } } else { if(y%2==0) { Cuadro[x][y]=new cuadro(x,y); Cuadro [x ][y ]. setBackground(Color. BLACK); contenedor.add(Cuadro[x][y]); } else { Cuadro[x][y]=new cuadro(x,y); Cuadro [x ][y ]. setBackground(Color. WHITE); contenedor.add(Cuadro[x][y]); } } } } } }
Les estaria muy agradecidos si me pudieran ayudar a encontrar cual es el problema que pasa con la clase Tablero.
5
« en: Lunes 28 de Septiembre de 2009, 00:38 »
Buenas, tengo un problema que le dejaron a un amigo en su clase de programacion, y y que le piden que escriba en lenguaje C, usando solo funciones y punteros y arreglos :
Un programa que determine la cantidad de formas distintasT en las que se puede escribir un numero entero N como suma de dos potencias a^p + b^q donde a>=b>=1, p>=2 y q>=2. para la potencias de uno solo se considera 1^2, y piden que el numero este en un rango de [1, 1000].
ejem: 17=4^2+1^2=3^2+2^3 en este caso T seria igual a 2.
Ya se me a ocurrido una idea, y es hacerlo a fuerza bruta, osea primero hallar los resultadoss de las potencias al cuadrado de numeros del 1 a la n en donde la potencia sea menor a 1000, y asi seguir hasta llegar a la potencia de 2 a la 10, en donde cada resultado de la potencia se guardaria en un arreglo, en total serian algo de 52 elementos del arreglo, y luego descomponer por sumas al numero N, en este caso las sumas totales serian N/2, y luego cada sumando se compararia a un elemento del arreglo, si ambos coinciden con alguno, entonces T incrementaria en uno, hasta comparar todas las posibilidades. calculando el numero total de posibilidades para el numero mayor que es 1000, serian de 1000/2=500 posibilidades que en donde cada sumando de N se compararia con un arreglo, 2*500*52=52000, pero veo que seria demasiadas comparaciones. Si alguien encuentra una solucion sin tantas comparaciones, le estaria agradecido.
Páginas: [1]
|
|
|