Java - JPanel poner encima segun boton presionado.

 
Vista:

JPanel poner encima segun boton presionado.

Publicado por Jes (1 intervención) el 24/03/2014 07:43:08
Hola, ojala y me puedan ayudar, tengo un frame con una imagen de fondo y donde quiero mostrar menus elegidos por botones, cada botón debe ir ligado a un JPanel con opciones varias, pero no he podido dejar invisible un panel y dejar visible otro panel.

De antemano gracias por su atención.

Jes.


Pongo el programa actual.

import java.awt.*;

public class GUI extends JFrame
{
private static GUI ventanaPrincipal; // Ventana principal
private static JPanel panel; // Capa sobre la que se trabajará
Button btnCatalogos;

private final URL imgFondo = this.getClass().getResource("fondo.jpg");
private static TexturePaint fondo; // Textura con la que se pintará el fondo

public static void main(String [] arg)
{ // lanzamos aplicación
javax.swing.SwingUtilities.invokeLater(new Runnable(){
public void run()
{
lanzarAplicacion();


}
});
}
/**
* construye los objetos requeridos para el funcionamiento de la aplicacion
*/
private static void lanzarAplicacion()
{
// se crea la ventana
ventanaPrincipal = new GUI("Demo guays");

// y la mostramos!
ventanaPrincipal.setVisible(true);


}


private GUI(String Titulo)
{
super(Titulo);
panel = new JPanel()
{
private TexturePaint fondo = images.carga(imgFondo, this);
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
Dimension d = getSize();
g2d.setPaint(fondo);
g2d.fill(new Rectangle(0,0,d.width,d.height));
}
};

setExtendedState(JFrame.MAXIMIZED_BOTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPreferredSize(new Dimension(300, 300));
setSize(300,300);
getContentPane().add(panel);
panel.setLayout(null);


JButton btnCaptura = new JButton("Captura");
btnCaptura.setHorizontalAlignment(SwingConstants.LEFT);
btnCaptura.setBounds(140, 11, 95, 23);
panel.add(btnCaptura);


JPanel panel_1 = new JPanel();
panel_1.setBackground(new Color(240, 248, 255));
panel_1.setBounds(10, 33, 1341, 70);
panel.add(panel_1);
panel_1.setLayout(null);

JButton btnBancos = new JButton("Bancos");
btnBancos.setHorizontalAlignment(SwingConstants.LEFT);
btnBancos.setBackground(new Color(240, 248, 255));
btnBancos.setBounds(33, 0, 138, 53);
btnBancos.setIcon(new ImageIcon("C:\\Users\\Jes\u00FAs\\aplicaciones\\Almacenes\\src\\imagenes\\Ventas_add-44.png"));
panel_1.add(btnBancos);



JButton btnCatalogos = new JButton("Catalogos");

btnCatalogos.addActionListener(new ActionListener() {
private JPanel panel_1;

public void actionPerformed(ActionEvent e) {
System.out.println("Pase por aqui");

this.panel_1.setVisible(false); // NO FUNCIONA
}
});
btnCatalogos.setHorizontalAlignment(SwingConstants.LEFT);
btnCatalogos.setBounds(40, 11, 95, 23);
panel.add(btnCatalogos);



JPanel panel_2 = new JPanel();
panel_2.setBackground(new Color(153, 204, 255));
panel_2.setBounds(10, 11, 1341, 23);
panel.add(panel_2);


JPanel panel_3 = new JPanel();
panel_3.setBackground(new Color(153, 204, 255));
panel_3.setBounds(10, 101, 1320, 17);
panel.add(panel_3);

JPanel panel_4 = new JPanel();
panel_4.setLayout(null);
panel_4.setBackground(new Color(240, 248, 255));
panel_4.setBounds(10, 131, 1341, 70);
panel.add(panel_4);


}


}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder