Estoy haciendo mis primeras practicas con java, debido a la similtud que existe con actionscript 3 en su sintaxis (es logico, los dos son oop) no me esta costando mucho...
En este caso estoy tratando de cargar una imagen en un JFrame, al darle click a un JButton... el codigo no me lanza ningun error, pero cuando le doy click al boton, no aparece la imagen de forma inmediata, sino que no entiendo por que, la foto aparece cuando manualmente redimenciono el JFrame colocando el mouse en los bordes, haciendo click en ellos y arrastrando... por que? se supone que la foto debe aparecer inmediatamente despues de haber hecho click en el boton
El codigo que he hecho es:
Código:
package javaapplication1;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class imagen {
private JFrame jf;
private JButton jb;
private JLabel jl;
public static void main(String[] args){
new imagen();
}
public imagen(){
jf=new JFrame("Carga de imagen");
jf.getContentPane().setLayout(new FlowLayout());
jb=new JButton("ver imagen");
jf.getContentPane().add(jb);
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent d){
try{
ImageIcon icono= new ImageIcon("c:/Appserv/www/kayros/img/botones2.jpg");
jl=new JLabel(icono);
jl.setSize(142, 315);
Image imagen=icono.getImage();
jf.getContentPane().add(jl);
}
catch(NumberFormatException ev){
String mensaje=new String("no funciona");
System.out.println(mensaje);
}
}
});
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.pack();
jf.setVisible(true);
}
}
Gracias a todos