Foros del Web » Programación para mayores de 30 ;) » Java »

cómo hacer selección de botones dentro de una matriz con letras para formar palabras

Estas en el tema de cómo hacer selección de botones dentro de una matriz con letras para formar palabras en el foro de Java en Foros del Web. Estoy creando un juego muy similar al "AlphaBetty Saga" en Facebok, en JAVA (NetBeans) y necesito que al arrastrar el mouse sobre los botones se ...
  #1 (permalink)  
Antiguo 02/06/2015, 14:51
 
Fecha de Ingreso: junio-2015
Ubicación: Bogotá
Mensajes: 2
Antigüedad: 8 años, 10 meses
Puntos: 0
Exclamación cómo hacer selección de botones dentro de una matriz con letras para formar palabras

Estoy creando un juego muy similar al "AlphaBetty Saga" en Facebok, en JAVA (NetBeans) y necesito que al arrastrar el mouse sobre los botones se seleccionen (Cambiando de Color) y se comparen con un fichero que ya tengo, para hacer algo similar a una sopa de letras; y si la palabra se encuentra dentro del fichero elimine las letras generando unas nuevas completamente aleatorias, alguna solución?
He intendado con un mouseDragged pero no los selecciona, no se me occure qué puedo hacer, apreciaría su colaboración.
Clase que crea la matriz tras pulsar botón "Jugar"
Código:
  public void actionPerformed(ActionEvent evt) {

        //Eliminamos todo
        panel.removeAll();

        //Se crea una matriz de botones segun las filas y columnas entrantes
        Boton[][] botones = new Boton[10][10];
       
        //se crea el listado de letras a usar
        String Letra = "AAABCCDEEEFGHIIIJKLLMNOOOPQRSSTUUUVWXYZ";
        //Se recorren las filas
        for (int fila = 0; fila < 8; fila++) {
            //Estando en la fila se recorrer las columnas
            for (int columna = 0; columna < 8; columna++) {
                //Se crea el boton y se agrega a las celda de la matriz
                botones[fila][columna] = new Boton(59 * columna, 59 * fila, 47, 47);
                //Se le asigna una letra
                botones[fila][columna].setText("" + Letra.charAt(Math.abs(r.nextInt() % Letra.length())));
                botones[fila][columna].setFont(new Font("Arial", Font.BOLD, 20));

                 
                
                //Se agrega el boton al panel
                panel.add(botones[fila][columna]);
                              
            }
        }

        //Se actualiza el panel para que se vean los botones
        panel.updateUI();
    }
Clase donde se supone crearía la función indicada:
Código:
public class Boton extends JButton implements MouseMotionListener {
    

   // Constructor con parametros para posicionar a los botones
    public Boton(int pos_x, int pos_y, int ancho, int alto) {
        //Se coloca el boton en un lugar y se le da un tamanio
        setBounds(pos_x, pos_y, ancho, alto);

        //Se agrega el action listener en este caso la misma clase
       addMouseMotionListener(this);
    }

   
    public void mouseDragged(MouseEvent me) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
    
   
    public void mouseMoved(MouseEvent me) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
}

Última edición por ElLuchoMan; 02/06/2015 a las 15:01
  #2 (permalink)  
Antiguo 03/06/2015, 05:47
 
Fecha de Ingreso: junio-2015
Ubicación: Bilbao
Mensajes: 5
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: cómo hacer selección de botones dentro de una matriz con letras para forma

Y si en vez de usar el MouseMotionListener usas MouseListener? hice un ejercicio en el que al pasar el ratón por un botón éste cambiaba de color, usé el método de mouseEntered y funcionó bien... pruébalo y me dices :)

Etiquetas: juegos, matriz, netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:20.