Java:
package Game;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
public class GameFrame extends JFrame implements ActionListener, KeyListener {
int x = 60, y = 400, stern_x = 0, stern_y = 0;
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GameFrame frame = new GameFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public GameFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1000, 700);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lbl_wolken = new JLabel("");
lbl_wolken.setIcon(new ImageIcon("C:\\Users\\xyz\\Desktop\\divImage\\wolken.png"));
lbl_wolken.setBounds(0, 0, 984, 150);
lbl_wolken.setOpaque(true);
contentPane.add(lbl_wolken);
JLabel lbl_stern = new JLabel("");
lbl_stern.addKeyListener(this);
lbl_stern.setIcon(new ImageIcon("C:\\Users\\xyz\\Desktop\\divImage\\Stern.png"));
lbl_stern.setBounds(x, y, 50, 50);
lbl_stern.setOpaque(true);
contentPane.add(lbl_stern);
JLabel lbl_hintergrund = new JLabel("");
lbl_hintergrund.setIcon(new ImageIcon("C:\\Users\\xyz\\Desktop\\divImage\\HintergundLeer.png"));
lbl_hintergrund.setBounds(0, 0, 984, 661);
lbl_hintergrund.setOpaque(false);
contentPane.add(lbl_hintergrund);
}
public void actionPerformed(ActionEvent e) {
if(x < 50) {
stern_x = 0;
x = 50;
}
if(x > 900) {
stern_x = 0;
x = 900;
}
if(y < 0) {
stern_y = 0;
y = 500;
}
if(y > 500) {
stern_y = 0;
y = 500;
}
x = x + stern_x;
y = y + stern_y;
}
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_W) {
stern_x = 0;
stern_y = -1;
}
if(e.getKeyCode() == KeyEvent.VK_S) {
stern_x = 0;
stern_y = 1;
}
if(e.getKeyCode() == KeyEvent.VK_A) {
stern_x = -1;
stern_y = 0;
}
if(e.getKeyCode() == KeyEvent.VK_D) {
stern_x = 1;
stern_y = 0;
}
}
public void keyReleased(KeyEvent e) {
stern_x = 0;
stern_y = 0;
}
}
Guten Abend, ich bin noch recht grün hinter den Ohren und benötige eure Hilfe.
Ich habe bisher ein Fenster erstellt und 3 Bilder über JLabel/ImageIcon eingefügt.
Die ersten "Probleme" hatte ich mit der Darstellung von übereinander liegenden Bildern. Das konnte ich inzwischen lösen.(Ob es so richtig ist weis ich nicht..hat aber geklappt)
Das erste Bild Stellt den Hintergrund dar, das zweite Bild ist teil des Hintergrunds liegt aber übergelagert auf dem eigentlichen Hintergrundbild.
Das 3 Bild versuche ich grade über ein KeyEvent zu steuern.
Habt bitte Rücksicht mit mir und meiner Unwissenheit..
Sieht jemand woran es liegen könnte oder ist bereit mir sein Wissen darüber mitzuteilen?
Gruß
Zuletzt bearbeitet: