Botones superpuestos con swing

Iniciado por rigoxls, 26 Junio 2009, 21:06 PM

0 Miembros y 1 Visitante están viendo este tema.

rigoxls

Hola a todos, acudo a este foro porque me he roto la cabeza investigando como superponer un JButton encima de otro y que este ultimo se me muestre y me deje debajo el primero.

Aclarando un poco, tengo una matriz de botones que me forman una cuadricula cuando inicio la aplicacion, luego necesito que en tiempo de ejecucion se vayan creando botones y posicionarlos enciama de esta cuadricula, pero todos me quedan debajo de dicha cuadricula cuando los posiciono con setBounds, setLocation o reshape.

El caso es que cada boton que creo en tiempo de ejecucion y lo posiciono en mi frame, me queda debajo de la cuadricula y no me lo muestra, y no se como hacer para que cada boton que cree me quede encima de la cuadricula de botones que por defecto debo crear al inicio de la aplicacion...

Gracias por las respuestas...
No hay verdades absolutas sin ciegas posiciones !!!

sapito169

por que te interes aque uno este encima de otro es todo lo contrarrio todo el mundo trata de que sus componenetes no esten encima de otro por que estorba al usar el formulario y en sim aes feo


rigoxls

Pues bueno, la verdad alguna vez realice un tetris en visual basic, y ahora quiero hacer lo mismo pero con java, la primera vez que hice el tetris no tuve este inconveniente, ya que todos los componentes que se van creando en tiempo de ejecucion siempre me salian encima de la matriz en visual basic.

El lio es que en java cada vez que creo un nuevo componente, sea boton, label etc... me queda siempre debajo de mi matriz...... y ps no he dado con el chiste....

Aqui la foto de la matriz, por el momento me toco dejarla con labels transparentes y los botones son las fichas....

gracias por las respuestas...

No hay verdades absolutas sin ciegas posiciones !!!

Chuidiang

¿Cómo haces la matriz? ¿También con componentes?

Se bueno.

rigoxls

Si, de hecho son labels transparentes con un borde negro.....

Gracias por las respuestas !!!
No hay verdades absolutas sin ciegas posiciones !!!

maldillo

//Aqui el código que necesitas, ojala te sirva de ayuda rigoxls.

package project1;

import java.awt.Dimension;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Frame1 extends JFrame {
    private JButton Boton1 = new JButton();
    private JButton Boton2 = new JButton();

    public Frame1() {
        try {
            Initialize();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void Initialize() throws Exception {
        this.getContentPane().setLayout( null );
        this.setSize(new Dimension(430, 344));
        Boton1.setText("Boton1");
        Boton1.setBounds(new Rectangle(70, 75, 71, 23));
        Boton2.setText("Boton2");
        Boton2.setBounds(new Rectangle(100, 65, 71, 23));
        this.getContentPane().add(Boton2, null);
        this.getContentPane().add(Boton1, null);
    }
}

//Roberto,

rigoxls

Gracias a todos por responder [maldillo -- Chuidiang -- sapito169],

Bueno, todas las ayudas me sirvieron para aclarar un poco las ideas, y la verdad necesitaba los botones superpuestos para decorar la interfaz grafica de a aplicacion, y pues no logre superponer mis botones en tiempo de ejecucion, asi que pense en otra solucion un poco menos practica, pero que obtiene los mismos resultados que queria como se viera....

La solucion fue realizar mi matriz con labels transparentes y con un borde negro, de esta forma cuando creo los botones nunca se me van a ocultar debajo de la matriz ya que esta es transparente... Tambien le agregue un fondo gris a mi frame y ps da la impresion que la matriz fuese de color gris - negro....

Y el efecto del frame blanco es una imagen que ajuste a la ventana.... y ya con eso quedo conforme, en apariencia eso era lo que buscaba....

Doy la solución que encontre por si alguien le sucede lo mismo....

Nuevamente gracias a todos..!!!

No hay verdades absolutas sin ciegas posiciones !!!

izumi takashi

tengo un problema parecido pero como que no me funciona me podrias explicar lu codigo?
Rectangle(70, 75, 71, 23));
Quisiera saber para que sirven estos parametros tambien

MCKSys Argentina

izumi takashi estás preguntando en un post de más de 10 años de antigüedad (no deberías revivir posts tan viejos).

Por favor, crea un tema nuevo con tus dudas.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."