Figur in den Hintergrund setzen in BlueJ?
Ich möchte ein Schiff in den Hintergrund setzen damit es besser ausschaut und Sinn ergibt. Ich programmiere in Java Blue J ein Spiel und ich will wissen wie ich das mit den setLayer mache, weil der ist doch dafür. Ich bräuchte eine Rückmeldung bis 5.7.
Danke
![](https://images.gutefrage.net/media/user/NackterGerd/1459631419191_nmmslarge__4_21_414_414_4344501cccc644450d864209d1253d34.jpg?v=1459631419000)
Ich bräuchte eine Rückmeldung bis 5.7.
Hausaufgaben ?
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
nein Projekt Note aber es hat sich geklärt
1 Antwort
![](https://images.gutefrage.net/media/user/MasterFAQ/1719096606429_nmmslarge__0_0_1024_1024_3ee6d102f9fff3b8eb89a9336cca61ab.webp?v=1719096606000)
Hey,
ich bin auch gerade an einem Java-Game in BlueJ dran und hatte dasselbe Problem mit dem Hintergrund. Du kannst das ganz easy mit
setLayer
lösen. Hier ist mal ein schnelles Beispiel, wie du das machen kannst:
import javax.swing.*;
import java.awt.*;
public class MainWindow {
public static void main(String[] args) {
JFrame frame = new JFrame("Spiel");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
JLayeredPane layeredPane = new JLayeredPane();
layeredPane.setPreferredSize(new Dimension(800, 600));
// Hintergrund hinzufügen
JLabel background = new JLabel(new ImageIcon("background.jpg"));
background.setBounds(0, 0, 800, 600);
layeredPane.add(background, Integer.valueOf(1));
// Schiff hinzufügen
JLabel ship = new JLabel(new ImageIcon("ship.png"));
ship.setBounds(100, 100, 100, 50); // Position und Größe des Schiffs
layeredPane.add(ship, Integer.valueOf(2));
frame.add(layeredPane);
frame.pack();
frame.setVisible(true);
}
}
Pack das in dein Projekt und stell sicher, dass die Bilddateien (
background.jpg
und
ship.png
) im richtigen Verzeichnis liegen. Mit den Ebenen (
Integer.valueOf(1)
für den Hintergrund und
Integer.valueOf(2)
für das Schiff) kriegst du das locker hin.