Por lo que he visto hay quien crea una clase expecifica para insertar imagenes, pero no sé, yo estoy con la manía de que se puede hacer de forma más simple sin necesidad de crear más clases. en cualquier caso os dejo el código de lo que tengo hecho:
Código:
import java.awt.image.ImageProducer;
import javax.swing.*; //Importa la clases necesarias para poner los componentes
import java.awt.*; //Importa las clases necesarias para controlar los paneles y las acciones de los componentes.
import javax.swing.ImageIcon;
public class VentanaPrincipal {
private static JFrame ventana;
private static JPanel pa_norte, pa_sur;
private static JLabel label_tiprestamo, label_capital, label_tiempo, label_interes;
private static JComboBox cb_tiprestamo;
private static JTextField tf_capital, tf_tiempo, tf_interes;
private static JButton b_cuadro, b_yjava;
private static ImageIcon ii_yjava;
private static Image imagen;
//CONSTRUCTOR
public VentanaPrincipal() {
crearVentana();
}
public void crearVentana(){
ventana= new JFrame("EuroPrest");
ventana.setSize(500, 200);
ventana.setVisible(true);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ventana.setLayout(new BorderLayout());
//Contenedor NORTE y sus Componentes
pa_norte= new JPanel();
pa_norte.setLayout(new GridLayout(4,2));
ventana.add(pa_norte, BorderLayout.NORTH);
label_tiprestamo= new JLabel("Tipo de Prestamo:");
pa_norte.add(label_tiprestamo);
cb_tiprestamo= new JComboBox(new String[]{"---Seleccione Prestamo---", "Francés", "Amortización Constante"});
pa_norte.add(cb_tiprestamo);
label_capital= new JLabel("Capital Inicial:");
pa_norte.add(label_capital);
tf_capital = new JTextField();
pa_norte.add(tf_capital);
label_tiempo= new JLabel("Años de la Operación:");
pa_norte.add(label_tiempo);
tf_tiempo=new JTextField();
pa_norte.add(tf_tiempo);
label_interes=new JLabel("Tipo de Interes:");
pa_norte.add(label_interes);
tf_interes=new JTextField();
pa_norte.add(tf_interes);
//Contenedor SUR y sus componentes
pa_sur=new JPanel();
pa_sur.setLayout(new GridLayout(1,2));
ventana.add(pa_sur);
b_cuadro=new JButton("Generar Cuadro");
b_cuadro.setSize(50, 10);
pa_sur.add(b_cuadro);
imagen= new Image("logoyJava.png") {};
b_yjava=new JButton();
b_yjava.createImage((ImageProducer) imagen);
pa_sur.add(b_yjava);
}
public static void main(String[] args) {
VentanaPrincipal ventPrincipal = new VentanaPrincipal();
}
}
Los componentes de la ventana están organizados en dos paneles, en el panel sur es donde yo quiero insertar la imagen (a la izquierda), pero de momento no he conseguido nada más que hacer aparecer el botón pero sin la imagen, que se encuentra dentro del mismo proyecto junto con las clases.
Cualquier ayuda me vendrá bien. Gracias de antemano.