Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Proyecto Stand O' Food -
Enviado por piachens el día 24 de marzo de 2008
Hola a todos!
bueno les cuento que es lo que estoy haciendo.
Para la facultad me han pedido que haga un juego en Java (lenguaje que estoy aprendiendo) y decidi hacer el Stand O' Food http://www.gamehouse.com/gamedetails/?game=standof...
La verdad como veran es para mi algo ambicioso pero quiero intentarlo.
La idea del proyecto es hacer el juego y que quede relatado paso a paso la construccion del mismo y asi armar un tutorial...
Para empezar el primer paso que quiero dar es el de lograr el fondo de este juego y aca es donde empiezan las dudas ya que tengo una imagen para el fondo pero no se como ponerla
Lo que tengo es lo siguente....
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class StandOFood{
public static final int WIDTH = 1026;
public static final int HEIGHT = 757;
public StandOFood() {
JFrame ventana = new JFrame("Stand O' Foof");
ventana.setBounds(0,0,WIDTH,HEIGHT);
ventana.setVisible(true);
ventana.addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
StandOFood inv = new StandOFood();
}
}
Entonces como pondriamos la imagen que adjunto como fondo de nuestra pantalla?
Lo único que tienes que hacer es sobreescribir el método "paintComponent" del panel en el que quieras poner la imagen de fondo. Te adjunto tu ejemplo modificado:
import java.awt.event.*;
import java.awt.event.WindowEvent;
import javax.swing.*;
import java.awt.*;
public class StandOfFood extends JFrame {
public static final int WIDTH = 1026;
public static final int HEIGHT = 757;
public ImageIcon fondo;
public StandOfFood() {
fondo = new ImageIcon("tu_fondo.jpg");
JPanel panel = new JPanel() {
protected void paintComponent(Graphics g) {
g.drawImage(fondo.getImage(), 0, 0, null);
super.paintComponent(g);
}
};
panel.setOpaque( false );
panel.setPreferredSize( new Dimension(WIDTH-5, HEIGHT-5) );
getContentPane().add( panel );
this.addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
StandOfFood frame = new StandOfFood();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(WIDTH, HEIGHT);
frame.setLocationRelativeTo( null );
frame.setVisible(true);
}
}
Eso si, para que se vea el fondo, todo los componentes que vayas a poner encima tienen que tener la Opaque a false.