Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: janegg en 22 de Mayo 2019, 04:00

Título: Java JFrame no se muestra el panel código con JTextArea JLabel JTextField JPanel
Publicado por: janegg en 22 de Mayo 2019, 04:00
Este es mi código.  Estoy creando un jframe, pero no me muestra el panel, ayuda por favor!!

Código: [Seleccionar]
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

public class Ventanas extends JFrame implements ActionListener
{
   //private AgenciaSG asg;
   private JFrame jf;
   private JTextArea area;
   private JLabel eticodagencia,etinomagencia;
   private JTextField txtcodagencia, txtnomagencia;
   private JPanel panel;
   private JButton boton;

   
   public Ventanas ()
   {
      eticodagencia = new JLabel("Codigo: ");
      etinomagencia = new JLabel("Nombre: ");
     
      txtcodagencia = new JTextField();
      txtnomagencia = new JTextField();
     
      boton = new JButton("Aceptar");
      area = new JTextArea ();
     
      panel = new JPanel();
      jf = new JFrame();
   }
   
   public void setCrear ()
   {
      jf.setSize( 500, 500 );
      jf.setVisible(true);
      jf.setDefaultCloseOperation( EXIT_ON_CLOSE );
      jf.setTitle("Crear");
      jf.setLocationRelativeTo(null);
      setPanelCrear();
     
      //getContentPane().setBackground(Color.blue);
   }
   /*
    //getContentPane().setBackground(Color.green);
      jp.setLayout(null);
      jf.getContentPane().add(jp);//agregar el panel a la ventana
      jl.setText("Hola Mundo");
      //jl.setText("que pepsi");
      jl.setBounds(50, 70, 100, 20);
      //jl.setOpaque(true); //permite cambiar el fondo de la etiqueta
      //jl.setBackground(Color.white); //cambia el color de la etiqueta
      jl.setForeground(Color.orange);//color a la letra
      jl.setFont(new Font("Arial", 0, 18));
      //jl.setText("Hola Mundo");
      jp.add(jl);
      */
   public void setPanelCrear()
   {   
      eticodagencia.setBounds(10, 20, 80, 20);
      eticodagencia.setBounds(10, 50, 80, 20);
     
      txtcodagencia.setBounds(100, 20, 80, 20);
      txtnomagencia.setBounds(100, 50, 80, 20);
     
      boton.setBounds(200, 20, 80, 20);
      boton.addActionListener(this);
      area.setBounds(10, 110, 300, 250);
     
      panel.setLayout(null);     
     
      panel.add(eticodagencia);
      panel.add(etinomagencia);
      panel.add(txtcodagencia);
      panel.add(txtnomagencia);
      panel.add(boton);
      panel.add(area);
     
     
      add(panel);
      jf.setSize( 500, 500 );
      jf.setVisible(true);


}

public void actionPerformed (ActionEvent e)
{
   if(e.getSource() == boton)
   {
      setCapturar();
   }
}

public void setCapturar ()
{
   area.setText("Los datos guardados son: \n Codigo de Agencia: "+txtcodagencia.getText()+"\nNombre de la Agencia: "+txtnomagencia.getText());
}
public static void main (String arg[])
   {
      Ventanas ve = new Ventanas ();
      ve.setCrear();
   }

}
Título: Re:Estoy creando un jframe, pero no me muestra el panel, ayuda por favor!!
Publicado por: Ogramar en 22 de Mayo 2019, 23:17
Buenas janegg, para poner título a los temas mírate el hilo https://aprenderaprogramar.com/foros/index.php?topic=1460.0 e intenta poner los títulos como se indica ahí (evitar por ejemplo ayuda por favor porque eso no ayuda en nada a localizar o resolver el tema).

No estoy seguro de que el código esté bien diseñado. Por un lado añades elementos sobre un JFrame que es jf y por otro lado tienes una sentencia add(panel) que está añadiendo el panel sobre el objeto this que no es lo mismo que jf, con lo cual al mostrarse this se te muestra vacío ya que no has añadido los diferenes elementos a this, sino a jf

En lugar de add(panel) deberás indicar que el panel se añade al JFrame así:

 jf.add(panel);
 jf.setSize( 500, 500 );
 jf.setVisible(true);

A mí al menos con este cambio se me muestran los JLabel, JTextField, etc.

Salu2
Título: Re:Estoy creando un jframe, pero no me muestra el panel, ayuda por favor!!
Publicado por: janegg en 28 de Mayo 2019, 03:37
Hola, acabo de ver las sugerencias del foro, una disculpa enorme. Gracias por su ayuda!