Con la ayuda de internet y de un compañero hoy aprendí a ponerle una imagen de fondo a una ventana, he tenido algunos inconvenientes para agregársela a la ventana principal y creo que ésto es debido al Layout que ésta tiene, por ahora y mientras soluciono ese inconveniente publíco lo que logré hacer con la ventana de Historia.
//CLASE FondoHistoria.
package principal;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.ImageIcon;
/**
*
* @author ANDREA
* ésta clase es un formulario JPanel.
*/
public class FondoHistoria extends javax.swing.JPanel {
public FondoHistoria() {
initComponents();
}
@Override
public void paintComponent(Graphics g) {
Dimension tam = getSize();
ImageIcon imagen = new ImageIcon(getClass().getResource("/imágenes/Historia.png"));
g.drawImage(imagen.getImage(), 0, 0, tam.width, tam.height, null);
setOpaque(false);
super.paintComponent(g);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
}// </editor-fold>
// Variables declaration - do not modify
// End of variables declaration
}
//CLASE HISTORIA
package principal;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
/**
*
* @author ANDREA
* En ésta clase se crea la ventana de la historia, se crea un objeto de la clase FondoHistoria y
* se adhiere a la ventana
*/
public class Historia implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
JFrame ventanaHistoria= new JFrame ();
ventanaHistoria.setVisible(true);
ventanaHistoria.setSize(900,600);
ventanaHistoria.setLocation(230,70);
ventanaHistoria.setTitle("Historia del juego");
ventanaHistoria.setBackground(Color.blue);
FondoHistoria otroFondo=new FondoHistoria();
ventanaHistoria.add(otroFondo);
}
}
No hay comentarios:
Publicar un comentario