Bienvenido(a), Visitante. Favor de ingresar o registrarse.
Diciembre 05, 2008, 11:33:38
Inicio Ayuda Buscar Ingresar Registrarse
Noticias: Foro de Java, C++ y más.

Nuevo foro de Control de versiones.

+  Foros Java y C/Linux
|-+  Programación
| |-+  Java J2SE
| | |-+  de que clase tengo que heredad
« anterior próximo »
Páginas: [1] 2 Enviar tema Imprimir
Autor Tema: de que clase tengo que heredad  (Leído 552 veces)
alemag
Full Member
***
Mensajes: 181


Ver Perfil Email


« en: Junio 01, 2008, 11:07:13 »

Saludos compañeros, tengo una opcion del menu principal, que si pincho en ella quiero que salga una ventana, con una tabla dentro.

El action listener que tengo es:

    ActionListener al_mostrar = new ActionListener() {
        public void actionPerformed(ActionEvent actionevent)
        {
          new Mostrar(panel_principal);
        }
      };

y en la clase Mostrar , que muestra la ventana, la tengo implementada como:

public class Mostrar_automata_inducido extends JPanel

pero mi duda es:
que tengo que extender de un panel, de una ventana, de un frame, o de que componente ?

Gracias.
En línea
manix
Full Member
***
Mensajes: 236


manix_10@hotmail.com mamfrey@yahoo.com
Ver Perfil WWW Email
« Respuesta #1 en: Junio 01, 2008, 11:09:54 »

Amigo no te entiendo bien, si solo una ventana con una tabla adentro lo puedes heredar de un jframe o un jpanel


saludos
En línea

chuidiang
Administrator
Hero Member
*****
Mensajes: 1985



Ver Perfil WWW Email
« Respuesta #2 en: Junio 02, 2008, 06:17:31 »

Hola:

Las ventanas, salvo la principal, deben ser JDialog. La principal debe ser un JFrame. Si quieres que al pulsar un botón se muestre una ventana, esa ventana tiene que ser JDialog.

Tampoco es necesario hererdar. Puedes instanciar el JDialog directamente y luego meterle dentro la tabla, con el método add().

Se bueno.
En línea

alemag
Full Member
***
Mensajes: 181


Ver Perfil Email
« Respuesta #3 en: Junio 02, 2008, 07:05:55 »

Tengo lo siguiente:

public class Mostrar extends JPanel

y dentro de ese metodo, simplemente (por ejemplo):

{
    JLabel etiqueta=new JLabel("Etiqueta ");
    add(etiqueta);
    setVisible(true);
}

pero no muestra nada, y quiero que salga una ventana (con una etiqueta por ejemplo), que se pueda minimizar, maximizar y cerrar.

Que me falta o tengo mal en el codigo ??
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1985



Ver Perfil WWW Email
« Respuesta #4 en: Junio 02, 2008, 08:13:07 »

Hola:

Como he comentado, una ventana debe ser un JDialog. Tienes dos opciones:

- hereda de JDialog.
- Mete tu clase Mostrar dentro de un JDialog.

Se bueno.
En línea

alemag
Full Member
***
Mensajes: 181


Ver Perfil Email
« Respuesta #5 en: Junio 02, 2008, 08:39:40 »

Si dentro de la clase Mostrar pongo el siguiente codigo:

  JLabel etiqueta=new JLabel("Etiqueta: ");
  getContentPane().add(etiqueta);
  setVisible(true);

solo me sale una barra azul (solo la barra de titulo) con el boton de cerrar, en la parte superior izquierda, pero sin nada dentro, y quiero que me salga la ventana con la etiqueta dentro, y con los tres botones de minimizar, maximizar y cerrar, es decir, que no sea una ventana modal.
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1985



Ver Perfil WWW Email
« Respuesta #6 en: Junio 02, 2008, 10:16:51 »

El JDialog no es modal salvo que tú lo hagas así.

Se bueno.
En línea

alemag
Full Member
***
Mensajes: 181


Ver Perfil Email
« Respuesta #7 en: Junio 02, 2008, 11:23:18 »

No le indico nada. EL unico codigo que pongo es:


public class Mostrar extends JPanel
{
    JLabel etiqueta=new JLabel("Etiqueta ");
    add(etiqueta);
    setVisible(true);
}

y solo me muestra eso de la barra azul, con el boton de cerrar,  y nada mas, solo la barra azul.

Que puedo hacer para que me muestre algo ?
Gracias, y perdonad por tanta pregunta.
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1985



Ver Perfil WWW Email
« Respuesta #8 en: Junio 02, 2008, 12:45:03 »


Supongo además que estás metiendo el JPanel en un JDialog. Dale tamaño al JDialog.

Se bueno.
En línea

alemag
Full Member
***
Mensajes: 181


Ver Perfil Email
« Respuesta #9 en: Junio 02, 2008, 05:55:28 »

Lo anterior que te puse estaba mal, mi codigo extiende de un JDialog:

public class Mostrar extends JPanel

y dentro de ese metodo, simplemente (por ejemplo):

{
    JLabel etiqueta=new JLabel("Etiqueta ");
    add(etiqueta);
    setVisible(true);
}

que tendria que darle tamaño a la ventana, al Dialog ??
Como lo puedo hacer ??
Y con eso ya me apareceria la ventana con su contenido visible ?
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1985



Ver Perfil WWW Email
« Respuesta #10 en: Junio 02, 2008, 08:37:02 »

Hola:

Veo que insistes en heredar de JPanel ...  Sonreir

Si te sale la ventana como una barra azul, posiblemente base con darle tamaño.

Se bueno.
En línea

alemag
Full Member
***
Mensajes: 181


Ver Perfil Email
« Respuesta #11 en: Junio 03, 2008, 01:41:33 »

Uffff, perdon, volvi a poner mal el codigo, tengo puesto un JDialog.

Voy a probarlo todo y mañana os comento.

Gracias.
En línea
alemag
Full Member
***
Mensajes: 181


Ver Perfil Email
« Respuesta #12 en: Junio 03, 2008, 11:34:48 »

La parte del código que tengo es esta:

public class Mostrar_automata_inducido extends JDialog
{
           JPanel pp= new JPanel();
           GridLayout gl_ppal=new GridLayout(2,1);
           pp.setLayout(gl_ppal);

           JLabel etiqueta=new JLabel("Etiqueta: ");
           JTable tab=new JTable();
           tab.setModel(procesa.dtm);
           pp.add(etiqueta);
           pp.add(tab);
                pp.setVisible(true);
                pp.setSize(300, 400);         
               getContentPane().add(pp);
}

pero no me muestra nada.

Y si pongo este codigo (extendiendo siempre de JDialog):

{

           JPanel pp= new JPanel();
           JLabel etiqueta=new JLabel("Etiqueta: ");
           pp.add(etiqueta);
                pp.setVisible(true);
           getContentPane().add(etiqueta);
                setVisible(true);
                setSize(300, 400);           
               
                getContentPane().add(pp);
}

me muestra una ventana en el margen superior izquierdo, de ese tamaño, pero sin nada dentro.

Como puedo hacer para que me aparezca una ventana con esa etiqueta dentro ?

Ayuda, por favor. Muchas gracias.
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1985



Ver Perfil WWW Email
« Respuesta #13 en: Junio 03, 2008, 02:13:54 »

Buenas:

En el segundo trozo de código, lo que tienes que hacer es decidir donde quieres dejar el JLabel y dejarlo ahí. El JLabel, físicamente, es uno y o está dentro del JDialog, o está dentro del JPanel. Si lo añades a un sitio y luego a otro, se borra del primero.

El Layout por defecto del JDialog "monta" los componentes uno encima de otro tal cual los está añadiendo, por lo que sólo verás el último que pongas.

setVisible() debe ser lo último, cuando todo el JDialog ya está construido y tiene tamaño.

Un consejo, no te hace falta el JPanel para nada, puedes meter el JLabel directamente dentro del JDialog.

Se bueno.
En línea

alemag
Full Member
***
Mensajes: 181


Ver Perfil Email
« Respuesta #14 en: Junio 03, 2008, 06:13:36 »

Vale, he extendido de JDialog, y el error estaba en que hacia el setVisible antes, no al final. Con este codigo lo he solucionado, parece facil pero le di vueltas.

            JLabel etiqueta=new JLabel("Etiqueta");
            getContentPane().add(etiqueta);
            setSize(300, 400);           
            setVisible(true);

Con esto, esta solucionado. Muchas gracias.
En línea
Páginas: [1] 2 Enviar tema Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC XHTML 1.0 válido! CSS válido!