2011-02-23 69 views
6

Estoy escribiendo un programa en Java. Tengo un JPanel principal que tiene dos JPanel y un Canvas añadidos. Mi objetivo es redimensionar el lienzo mientras ejecuta el programa. Cuando maximicé el lienzo, quiero que siempre esté encima del otro componente.
¿Cómo puedo establecer esta propiedad para mi lienzo?Java: establecer un Componente encima de otro

+1

Asumo que estás hablando de mezclar el componente AWT lienzo con componentes Swing, y que plantea la pregunta, ¿por qué? ¿Estás seguro de que realmente quieres hacer esto y conoces los trucos y trampas involucradas? –

Respuesta

19

Puede reemplazar su JPanel principal con un JLayeredPanel. Un panel en capas le permitirá especificar que algunos componentes secundarios deben superponerse sobre otros componentes secundarios.

es decir .:

JLayeredPane pane = new JLayeredPane(); 

    JLabel ontop = new JLabel("On top"); 
    JLabel behind = new JLabel("Behind"); 

    pane.add(ontop, 2, 0); 
    pane.add(behind, 1, 0); 
4

Haga sus principales JPanel un JLayeredPane

entonces se puede establecer la capa de los otros componentes con setLayer(Component c, int layer) lo que les permite superponen.

Cuestiones relacionadas