Guten Abend liebes Java-Forum 
Ich bin momentan dabei meine Fertigkeiten im Bereich GUI zu verbessern, habe jedoch noch nie mit Bildern bei Java gearbeitet. Prompt ein bisschen in Google gesucht und auf die sogenannte drawImage-Methode getroffen - Erschien mir logisch, da ich zuvor bereits mit drawRect und drawString gearbeitet habe. Dennoch möchte er mir das Feld nicht so wirklich ausgeben /:
Sinn meines vorherigen Plans: Ein Panel im Frame erstellen und dann das Frame in der Methode aufrufen. Dass die Ausgabe der Frames nicht akurat werden könnte, ist mir bewusst. Aber erst einmal würde ich überhaupt gerne ein Bildchen sehen /:
MfG
Ich bin momentan dabei meine Fertigkeiten im Bereich GUI zu verbessern, habe jedoch noch nie mit Bildern bei Java gearbeitet. Prompt ein bisschen in Google gesucht und auf die sogenannte drawImage-Methode getroffen - Erschien mir logisch, da ich zuvor bereits mit drawRect und drawString gearbeitet habe. Dennoch möchte er mir das Feld nicht so wirklich ausgeben /:
Java:
package Code;
import java.awt.*;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Levelpanel extends JPanel {
String level = "132234";
int xpos = 100;
public Levelpanel(){
setSize(500, 500);
setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.RED); //Visualisierung: Paint-Methode wird aufgerufen und funktioniert
g.fillOval(20, 20, 20, 20);
for(int i = 0; i < level.length(); i++){
char frame = level.charAt(i);
switch(frame){
case 1:
try {
Image image1 = ImageIO.read(new File("Medien\\boden.png"));
g.drawImage(image1, xpos, 50, null); //Ich kenne die Methode nicht - Richtig?!
} catch (IOException e) {
System.out.println("Datei nicht gefunden");
}
xpos += 20;
repaint();
break;
case 2:
try {
Image image1 = ImageIO.read(new File("Medien\\drache1.png"));
g.drawImage(image1, xpos, 50, this);
} catch (IOException e) {
System.out.println("Datei nicht gefunden");
}
xpos += 20;
repaint();
break;
case 3:
try {
Image image1 = ImageIO.read(new File("Medien\\feuerball.png"));
g.drawImage(image1, xpos, 50, this);
} catch (IOException e) {
System.out.println("Datei nicht gefunden");
}
xpos += 20;
repaint();
break;
case 4:
try {
Image image1 = ImageIO.read(new File("Medien\\tuer.png"));
g.drawImage(image1, xpos, 50, this);
} catch (IOException e) {
System.out.println("Datei nicht gefunden");
}
xpos += 20;
repaint();
break;
}
}
}
}
Java:
package Code;
import java.awt.*;
import javax.swing.*;
public class LevelFrame extends JFrame {
String level ="2231";
int xpos = 100;
public LevelFrame(String title){
super(title);
setVisible(true);
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Levelpanel p = new Levelpanel();
add(p);
}
public static void main(String[] args){
LevelFrame f = new LevelFrame("Spiel?!");
}
}
Sinn meines vorherigen Plans: Ein Panel im Frame erstellen und dann das Frame in der Methode aufrufen. Dass die Ausgabe der Frames nicht akurat werden könnte, ist mir bewusst. Aber erst einmal würde ich überhaupt gerne ein Bildchen sehen /:
MfG
Zuletzt bearbeitet: