Problemas con Swing y los class
Estoy haciendo un proyecto de programacio, dentro del cual hay 3 subproyectos independientes, pero que nos interesaria compartir clases para ahorrarnos trabajo a la hora de codificar. El problema viene cuando queremos crear pequeñas clases para implementar la interficie grafica con Swing.
Expongo un ejemplo: Tenemos la clase principal.
public class Contador extends JFrame
{
public Contador(String title)
{
super("Programa Contador");
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
BarraHerramientas barra =
new BarraHerramientas();
getContentPane().add(barra);
setBounds(300, 200, 400, 500);
pack();
setVisible(true);
}
public static void main(String[] args)
{
new Contador("Programa Contador");
}
};
Ahora en otro archivo creo la clase BarraHerramientas, que tiene el siguiente codigo:
class BarraHerramientas extends JMenuBar
{
JMenuBar barraH;
JMenu fichero;
JMenuItem abrir;
JMenuItem salir;
BarraHerramientas()
{
barraH = new JMenuBar();
fichero = new JMenu("Fichero");
abrir = new JMenuItem("Abrir");
salir = new JMenuItem("Salir");
fichero.add(abrir);
fichero.add(salir);
barraH.add(fichero);
}
}
Compilo las dos clases, y cuando ejecuto el programa Contador, no me aparece la barra de herramientas que he creado en la clase BarraHerramientas.
Me interesaria mucho si alguien me puede solucionar esto, ya que todo el cluster que hacemos el proyecto de programacion, podriamos compartir mucho codigo, ahorrandonos asi un tiempo considerable. Siempre nos quedara el materlo todo dentro de una misma classe, pero evidentemente nos saldria una clase un tanto coñazo.
Gracias a todos por leeros el mensaje. Hasta pronto.
Expongo un ejemplo: Tenemos la clase principal.
public class Contador extends JFrame
{
public Contador(String title)
{
super("Programa Contador");
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
BarraHerramientas barra =
new BarraHerramientas();
getContentPane().add(barra);
setBounds(300, 200, 400, 500);
pack();
setVisible(true);
}
public static void main(String[] args)
{
new Contador("Programa Contador");
}
};
Ahora en otro archivo creo la clase BarraHerramientas, que tiene el siguiente codigo:
class BarraHerramientas extends JMenuBar
{
JMenuBar barraH;
JMenu fichero;
JMenuItem abrir;
JMenuItem salir;
BarraHerramientas()
{
barraH = new JMenuBar();
fichero = new JMenu("Fichero");
abrir = new JMenuItem("Abrir");
salir = new JMenuItem("Salir");
fichero.add(abrir);
fichero.add(salir);
barraH.add(fichero);
}
}
Compilo las dos clases, y cuando ejecuto el programa Contador, no me aparece la barra de herramientas que he creado en la clase BarraHerramientas.
Me interesaria mucho si alguien me puede solucionar esto, ya que todo el cluster que hacemos el proyecto de programacion, podriamos compartir mucho codigo, ahorrandonos asi un tiempo considerable. Siempre nos quedara el materlo todo dentro de una misma classe, pero evidentemente nos saldria una clase un tanto coñazo.
Gracias a todos por leeros el mensaje. Hasta pronto.