Botones con imagenes, ¿porque no va?
De los tres trocitos de codigo que hay aquí para crear un boton con una imagen dentro sólo funciona el 3o, pero a mi me interesa tenerlo como el 1o o sino algo como el 2o ( todo encapsulado en una clase sin main). ALguien me podria dar alguna explicacion? :S, gracias!!
//Primera version
public class VistaInicial extends JFrame
{
private JButton jbTest;
VistaInicial()
{
setSize(200,200);
setLayout(null);
jbTest = new JButton("boton",new ImageIcon("casos.gif"));
getContentPane().add( jbTest,BorderLayout.CENTER );
jbTest.setBounds(10,10,100,100);
}
public static void main(String args[])
{
new VistaInicial().setVisible(true);
}
}
/*codigo 2
aqui intento acercarme al ultimo ejemplo poniendo los
botones en un JPanel (clase Botoncitos) que luego agrego al JFrame.
*/
public class VistaInicial extends JFrame
{
VistaInicial()
{
Botoncitos panel = new Botoncitos();
getContentPane().add( panel,BorderLayout.CENTER );
setSize( 250,110 );
}
public static void main(String args[])
{
new VistaInicial().setVisible(true);
}
}
class Botoncitos extends JPanel
{
Botoncitos()
{
JButton boton = new JButton( "Boton", new ImageIcon("casos.gif"));
add( boton );
}
}
//codigo 3 (este es el unico que va, ejemplo del libro de Froufe)
public class VistaInicial extends JPanel {
public VistaInicial() {
ImageIcon izq = new ImageIcon( "casos.gif" );
JButton boton = new JButton( "Boton",new ImageIcon("casos.gif"));
add( boton );
}
public static void main( String args[] ) {
VistaInicial panel = new VistaInicial();
JFrame ventana = new JFrame();
ventana.setDefaultCloseOperation( ventana.EXIT_ON_CLOSE );
ventana.getContentPane().add( panel,BorderLayout.CENTER );
ventana.setSize( 250,110 );
ventana.setTitle( "Tutorial de Java, Swing" );
ventana.setVisible( true );
}
}
//Los imports:
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.BorderLayout;
//Primera version
public class VistaInicial extends JFrame
{
private JButton jbTest;
VistaInicial()
{
setSize(200,200);
setLayout(null);
jbTest = new JButton("boton",new ImageIcon("casos.gif"));
getContentPane().add( jbTest,BorderLayout.CENTER );
jbTest.setBounds(10,10,100,100);
}
public static void main(String args[])
{
new VistaInicial().setVisible(true);
}
}
/*codigo 2
aqui intento acercarme al ultimo ejemplo poniendo los
botones en un JPanel (clase Botoncitos) que luego agrego al JFrame.
*/
public class VistaInicial extends JFrame
{
VistaInicial()
{
Botoncitos panel = new Botoncitos();
getContentPane().add( panel,BorderLayout.CENTER );
setSize( 250,110 );
}
public static void main(String args[])
{
new VistaInicial().setVisible(true);
}
}
class Botoncitos extends JPanel
{
Botoncitos()
{
JButton boton = new JButton( "Boton", new ImageIcon("casos.gif"));
add( boton );
}
}
//codigo 3 (este es el unico que va, ejemplo del libro de Froufe)
public class VistaInicial extends JPanel {
public VistaInicial() {
ImageIcon izq = new ImageIcon( "casos.gif" );
JButton boton = new JButton( "Boton",new ImageIcon("casos.gif"));
add( boton );
}
public static void main( String args[] ) {
VistaInicial panel = new VistaInicial();
JFrame ventana = new JFrame();
ventana.setDefaultCloseOperation( ventana.EXIT_ON_CLOSE );
ventana.getContentPane().add( panel,BorderLayout.CENTER );
ventana.setSize( 250,110 );
ventana.setTitle( "Tutorial de Java, Swing" );
ventana.setVisible( true );
}
}
//Los imports:
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.BorderLayout;