Hallo Zusammen!
Ich habe das Probem, dass ich nicht zwei Grafiken zu meinem Frame hinzufügen kann. Die beiden Grafiken sind zwei Klassen (Spielfigur und Sammleobjekt), die von JPanel erben. Diese füge ich zum JFrame hinzu; jedoch wird nur das Sammelobjekt angezeigt und nicht die Spielfigur. Füge ich allerdings erst das Sammelobjekt und dann die Spielfigur hinzu, wird die Spielfigur, aber nicht das Sammelobjekt angezeigt. Ich habe keine Ahnung, woran das liegen könnte.
Vielen Dank im Voraus!
Hier mein Quellcode:
Klasse Oberflaeche:
Klasse Spielfigur:
Klasse Sammelobjekt:
Ich habe das Probem, dass ich nicht zwei Grafiken zu meinem Frame hinzufügen kann. Die beiden Grafiken sind zwei Klassen (Spielfigur und Sammleobjekt), die von JPanel erben. Diese füge ich zum JFrame hinzu; jedoch wird nur das Sammelobjekt angezeigt und nicht die Spielfigur. Füge ich allerdings erst das Sammelobjekt und dann die Spielfigur hinzu, wird die Spielfigur, aber nicht das Sammelobjekt angezeigt. Ich habe keine Ahnung, woran das liegen könnte.
Vielen Dank im Voraus!
Hier mein Quellcode:
Klasse Oberflaeche:
Java:
import javax.swing.*;
import java.awt.event.*;
import java.awt.Color;
public class Oberflaeche {
JFrame frame;
Spielfigur spielfigur = new Spielfigur();
Sammelobjekt sammelobjekt = new Sammelobjekt();
public void los() {
//Spieloberfläche Init
frame = new JFrame("The Adventures of Snackman");
frame.setSize(500, 500);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(spielfigur);
frame.add(sammelobjekt);
}
public static void main(String[] args) {
Oberflaeche meineUI = new Oberflaeche();
meineUI.los();
}
}
Klasse Spielfigur:
Java:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.BorderLayout;
public class Spielfigur extends JPanel {
int x = 100;
int y = 100;
Color farbeFigur = Color.blue;
int vx = 0;
int vy = 0;
public void paintComponent (Graphics g){
super.paintComponent(g);
g.setColor(farbeFigur);
g.fillOval (x - 30, y- 30, 2 * 30, 2 * 30);
}
}
Klasse Sammelobjekt:
Java:
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.BorderLayout;
public class Sammelobjekt extends JPanel{
Color farbeO = Color.red;
int oX = 200;
int oY = 200;
int radius = 5;
public void paintComponent (Graphics g){
super.paintComponent(g);
g.setColor(farbeO);
g.fillOval (oX - radius, oY- radius, 2 * radius, 2 * radius);
}
}