Vor kurzem entschied ich zu lernen, wie man 2D-Spiele mit JAVA (Eclipse) zu machen, so fand ich ein Tutorial online, das zeigt, wie SuperMari Spiel mit Java zu machen, schrieb ich den gleichen Code schrieb er und ich folgte Schritt für Schritt, was er tat, worüber ich nicht viel reden konnte, leider ist er Code-Shows, nach dem Exportieren, ein Fenster mit zwei Bildern drin, während mir nur das Fenster ohne Bilder zeigt, das versichere ich dir importierte die zwei Bilder und legte sie in ein Paket, um alle Arten von Problemen zu vermeiden, aber es zeigt immer noch nichts.Bilder keine Anzeige in meinem Java-Programm
mein Code hat zwei Klassen, "Main" und "Scene", hier ist es, hoffentlich wird jemand eine Lösung für mich finden, danke Jungs!
Main.java:
package AiMEUR.AMiN.jeu;
import javax.swing.JFrame;
public class Main {
public static Scene scene;
public static void main(String[] args) {
JFrame fenetre = new JFrame("Naruto in mario World!!");
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setSize(700, 360);
fenetre.setLocationRelativeTo(null);
fenetre.setResizable(false);
fenetre.setAlwaysOnTop(true);
scene = new Scene();
fenetre.setContentPane(scene);
fenetre.setVisible(true);
}
}
Scene.java:
package AiMEUR.AMiN.jeu;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class Scene extends JPanel{
private ImageIcon icoFond;
private Image imgFond1;
private ImageIcon icoMario;
private Image imgMario;
private int xFond1;
public Scene(){
super();
this.xFond1 = -50;
icoFond = new ImageIcon(getClass().getResource("/Images/fond.gif"));
this.imgFond1 = this.icoFond.getImage();
icoMario = new ImageIcon(getClass().getResource("/Images/1.png"));
this.imgMario = this.icoMario.getImage();
// paintComponent(this.getGraphics());
}
public void paintCompenent(Graphics g){
super.paintComponent(g);
Graphics g2 = (Graphics2D)g;
g2.drawImage(this.imgFond1, this.xFond1, 0, null);
g2.drawImage(imgMario, 300, 245, null);
}
}
ich, dass 'icoFond = new ImageIcon überprüfen würde (getClass(). getResource ("/ Images/fond.gif")); 'und die andere ähnliche Zeile lädt tatsächlich Ihre Bilder. –
Entschuldigung! aber ich habe nicht verstanden was du meinst! Sie denken, ich sollte die Codezeile ändern, auf die Sie verwiesen haben? –
Nein, das ist die Zeile, die Sie überprüfen sollten. Versuchen Sie es anschließend: 'int status = icoFond.getImageLoadStatus()' - dies sollte einer von 'MediaTracker.ABORTED',' MediaTracker.ERRORED' oder 'MediaTracker.COMPLETE' sein. Siehe die API unter https://docs.oracle.com/javase/7/docs/api/javax/swing/ImageIcon.html –