Problemas con paneles de pestañas en java

Estoy siguiendo con el aprendizaje de java y estoy siguiendo un tutorial extraño. Según su creador es de la página de java pero no se yo, y digo que es extraño por que a el le funciona y a mi no poniendo EXACTAMENTE LO MISMO, así que no lo entiendo, igual el tiene algún complemento o algo instalado que yo no tengo no sé, bueno este es el código.
import javax.swing.*;
import java.awt.*;
public class PanelesconPestañas extends JFrame{
public PanelesconPestañas() {
super("Panel con pestañas");
//CREAMOS EL PANEL PRINCIPAL
JPanel principal = new JPanel();
//creamos un texto para ese panel con JLabel
JLabel etiqueta1 = new JLabel("Este es el panel principal");
//AÑADIMOS ESA ETIQUETA AL PANEL PRINCIPAL
principal.add(etiqueta1);
//AÑADIMOS 4 PANELES MÁS, LA MISMA ESTRUCTURA QUE LA DE ARRIBA.
JPanel avanzada = new JPanel();
JLabel etiqueta2 = new JLabel("Este es el panel Avanzada");
avanzada.add(etiqueta2) ;
JPanel privada = new JPanel();
JLabel etiqueta3 = new JLabel("Este es el panel privada");
privada.add(etiqueta3) ;
JPanel seguridad = new JPanel();
JLabel etiqueta4 = new JLabel("Este es el panel seguridad");
seguridad.add(etiqueta4);
//CREAMOS EL PANEL PESTAÑAS
JTabbedPane pestañas = new JTabbedPane();
//CREAMOS UNA IMAGEN O ICONO
ImageIcon iKaori =new ImageIcon("Kaori91re1.jpg");
//LE DAMOS ALTURA Y ANCHURA A CADA PANEL
principal.setPreferredSize(new Dimension(410,50));
//AÑADIMOS EL PANEL PESTAÑAS A LOS DEMAS PANELES
//LE PONEMOS UN NOMBRE, USAMOS UNA IMAGEN, Y USAMOS EL PANEL DE ARRIBA(principal en este caso)
pestañas.addTab("Principal",iKaori,principal);
pestañas.addTab("Avanzada",iKaori,avanzada);
pestañas.addTab("Privada",iKaori,privada);
pestañas.addTab("Seguridad",iKaori,seguridad);
//AÑADIMOS EL COMPONENTE JTabbedPane
add(pestañas);
//INHABILITAMOS EL USO DEL SCROLL DE PESTAÑAS
pestañas.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
}
//CREAR LA GUI Y MOSTRARLO
private static void crearMostrarLaGui() {
JFrame marco = new JFrame("Ejemplo paneles con pestañas");
marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//AÑADIR CONTENIDO A LA VENTANA
marco.add(new PanelesconPestañas(), BorderLayout.CENTER);
//MOSTRAR LA VENTANA Y AGRUPARLA
marco.pack();
marco.setVisible(true);
}
public static void main(String[] args) {
crearMostrarLaGui();
}
}
Y para mi que falla aqui
//CREAR LA GUI Y MOSTRARLO
private static void crearMostrarLaGui() {
JFrame marco = new JFrame("Ejemplo paneles con pestañas");
marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//AÑADIR CONTENIDO A LA VENTANA
marco.add(new PanelesconPestañas(), BorderLayout.CENTER);
//MOSTRAR LA VENTANA Y AGRUPARLA
marco.pack();
marco.setVisible(true);
}
No le encuentro demasiado sentido pudiéndolo poner en el método main pero pienso que el fallo es de ahí.
¿Me podríais ayudar a identificar el fallo y que me funcione.?
Respuesta
1
Yo uso el netbeans de compilador y me da error en esta linea
-marco.add(new PanelesconPestañas(), BorderLayout.CENTER);
ya que esa linea es incorrecta, mira te explico, el tipo ese del tutorial ha creado un
-JFrame marco = new JFrame("Ejemplo paneles con pestañas");
y a eso le ha añadido otra ventana en esta instruccion
-marco.add(new PanelesconPestañas(), BorderLayout.CENTER);
Eso esta mal ya que no puedes agregarle un window a un window, solo se le puede agregar containers y componentes, por eso el error, borra el método crearMostrarLaGui(), no sirve para nada, y la parte del main seria de la siguiente forma
public static void main(String[] args) {
// crearMostrarLaGui();
PanelesconPestañas frame =new PanelesconPestañas();
frame.setVisible(true);
frame.setSize(800, 800);
}
}
Listo, ya funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas