elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Como mostrar entre varios paneles
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como mostrar entre varios paneles  (Leído 2,852 veces)
jclaurian

Desconectado Desconectado

Mensajes: 8



Ver Perfil WWW
Como mostrar entre varios paneles
« en: 13 Abril 2008, 13:52 pm »

Saludos.

Ya en otro post me habian ayudado con un problema de menus y les agradezco. Ahora me hicieron reescribir la aplicación ya que todo lo que hacia lo hacia dentro del constructor, así que me pusieron a separar todo por metodos.

Mi problema es, tengo un JFrame con menus, tengo dos opciones en un menú, Ciclos y Control, tengo un método para cada uno. Estos métodos lo que hacen sismplemente es incluir un panel de color al frame, cada uno de diferentee color.

Necesito llamar a estos métodos desde los menus, ya los tengo en el evento mousePressed, al seleccionar alguna de las dos opciones llama al método, me imprime en consola un mensaje, que oprimi ciclos o control segun el caso. Pero no me muestra el panel de color.

Ahora, si llamo desde main por ejemplo.  juego.cargarCartasCiclos o juego.cargarCartasControl si me muestra el panel de color.

¿Cómo le puedo hacer para que al seleccionar la opción desde el menú me aparezca el panel de color?

Les dejo el código del programa.
Código:
import java.awt.*;

import java.awt.event.*;

import javax.swing.*;



public class Juego extends JFrame implements MouseListener ,ActionListener {

       
     

JPanel panelCiclos = new JPanel();

JPanel panelControl = new JPanel();

    JMenu mnuJuego;

    JMenu mnuOpciones;

    JMenuItem mnuJuegoNuevo;

    JMenuItem mnuJuegoSalir;

    JMenuItem mnuOpcionesCiclos;

    JMenuItem mnuOpcionesControl;

     

     public void cargarCartasCiclos() {

  //centerPanel.setLayout( new GridLayout(3,4) );

    panelCiclos.setBackground( new Color(0,0,255));

    panelCiclos.setVisible(true);

add(panelCiclos);

    System.out.println("Entro a ciclos");

     }



public void cargarCartasControl() {

panelControl.setBackground( new Color(0,0,155));

panelControl.setVisible(true);

add(panelControl);

System.out.println("Entro a control");

}

     

    public Juego() {

    setTitle("Memoria");

    setSize(600,600);

    setLocation(50,50);

   

    // Menús de la ventana

    mnuJuego = new JMenu("Juego");

    mnuOpciones = new JMenu("Opciones");

   

    // Elementos del menú Juego

    mnuJuegoNuevo = new JMenuItem("Nuevo juego");

    mnuJuegoSalir = new JMenuItem("Salir");

   

    // Elementos del menú Opciones

    mnuOpcionesCiclos = new JMenuItem("Ciclos");

    mnuOpcionesControl = new JMenuItem("Control");

   

    // Agregamos los menús

    mnuJuego.add(mnuJuegoNuevo);

    mnuJuego.add(mnuJuegoSalir);

    mnuOpciones.add(mnuOpcionesCiclos);

    mnuOpciones.add(mnuOpcionesControl);

    JMenuBar barra = new JMenuBar();

    setJMenuBar(barra);

    barra.add(mnuJuego);

    barra.add(mnuOpciones);

   

    mnuJuegoNuevo.addMouseListener(this);

mnuJuegoSalir.addMouseListener(this);

mnuOpcionesCiclos.addMouseListener(this);

mnuOpcionesControl.addMouseListener(this);

   

    }



    public static void main(String[] args) {


        Juego jugar = new Juego();

        //jugar.cargarCartasCiclos();

        //jugar.cargarCartasControl();

        jugar.setVisible(true);

    }

   

    public void actionPerformed(ActionEvent evt1) {}

   

    public void mouseClicked(MouseEvent e) { }



    public void mouseEntered(MouseEvent e) { }



    public void mouseExited(MouseEvent e) { }

   

    // Eventos del mouse

    public void mousePressed(MouseEvent e) {



        Object fuente = e.getSource();

       

        if (fuente == mnuJuegoNuevo) {

        System.out.println("Oprimio nuevo");

        }

       

        if (fuente == mnuJuegoSalir)

        System.exit(0);

       

        if (fuente == mnuOpcionesCiclos) {

        System.out.println("Oprimio Ciclos");

        cargarCartasCiclos();

        }

       

        if (fuente == mnuOpcionesControl) {

        System.out.println("Oprimio Control");

        cargarCartasControl();

        }

    }

   

    public void mouseReleased(MouseEvent e) { }

}


En línea

Lu15_CL4

Desconectado Desconectado

Mensajes: 67



Ver Perfil
Re: Como mostrar entre varios paneles
« Respuesta #1 en: 17 Abril 2008, 00:49 am »

lo que pasa es que tus paneles estan vacios por eso no se ven, ponles un tamaño y salen, asi:

panelCiclos.setSize(111,111);
y
panelControl.setSize(222,222);

cuando le pones el color desde el main, se colorea el JFrame de tu clase, cuando le pones en los metodos colorea nada mas el panelsito, usa layouts pa ordenar mejor las cosas.

si kieres que se pinte todo el JFrame creo que seria
this.setBackground( new Color(0,0,255));
nostoy seguro...

unos tips:
-puedes usar setLocationRelativeTo(null) en lugar de move(x,y), te pone la ventana justo en el centro.
-se puede  usar Color.RED o Color.blue, etc.. en lugar de 'new Color(0,0,0)' (importando la clase color claro)

^^


En línea

Te regalo .1 centavo de dolar diario, registrate aqui, pideme + info por PM ^^, el .1 centavo puede ir creciendo hasta el infinito!!! :xD ^^
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre paneles.
Java
IronJony 2 1,757 Último mensaje 4 Noviembre 2014, 15:47 pm
por IronJony
Como paso datos entre varios jsp
Java
kikian94 0 2,536 Último mensaje 22 Mayo 2015, 10:29 am
por kikian94
super posicion de paneles
Java
jmr_122 1 1,840 Último mensaje 27 Mayo 2016, 08:12 am
por jmr_122
Ayuda! ¿Cómo mostrar los datos de varios archivos en java?
Dudas Generales
cris4537 0 2,977 Último mensaje 12 Septiembre 2016, 02:20 am
por cris4537
mostrar varios componentes con angular
Desarrollo Web
bengy 0 1,436 Último mensaje 29 Enero 2018, 05:08 am
por bengy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines