Folgende Sachlage:
Ich habe mir ein JFrame erstellt, indem ich mir erstmal ein Gerüst bauen wollte, bestehend aus North, West, South, East und Center.
So weit kein Problem. Ich wollte nun aber ein Hintergrundbild einfügen, dass HINTER all diesen JPanels liegt. Füge ich aber das JLabel mit dem Bild ein, wird es je nach Position gar nicht erst angezeigt, oder füllt nur das gesamte Center aus.
Was mache ich falsch?
Ich möchte, dass das Hintergrundbild das gesamte Fenster ausfüllt, ich jedoch die Beschrifutngen "North, West, South, East, Center" immer noch vorne sehen kann und zwar ohne, dass sie weggeschoben werden vom Bild.
Mein Code:
Ich habe mir ein JFrame erstellt, indem ich mir erstmal ein Gerüst bauen wollte, bestehend aus North, West, South, East und Center.
So weit kein Problem. Ich wollte nun aber ein Hintergrundbild einfügen, dass HINTER all diesen JPanels liegt. Füge ich aber das JLabel mit dem Bild ein, wird es je nach Position gar nicht erst angezeigt, oder füllt nur das gesamte Center aus.
Was mache ich falsch?
Ich möchte, dass das Hintergrundbild das gesamte Fenster ausfüllt, ich jedoch die Beschrifutngen "North, West, South, East, Center" immer noch vorne sehen kann und zwar ohne, dass sie weggeschoben werden vom Bild.
Mein Code:
Java:
package GUI;
import java.awt.BorderLayout;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
public class Window {
public Window() {
JFrame frame = new JFrame("Fenstername");
frame.setLayout(new BorderLayout());
frame.add(makeCenter(), BorderLayout.CENTER);
frame.add(makeNorth(), BorderLayout.NORTH);
frame.add(makeWest(), BorderLayout.WEST);
frame.add(makeSouth(), BorderLayout.SOUTH);
frame.add(makeEast(), BorderLayout.EAST);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setSize(800, 600);
frame.setVisible(true);
Icon background = new ImageIcon("images/background.png");
JLabel label = new JLabel(background);
frame.add(label, -1);
}
private JPanel makeCenter() {
JPanel center = new JPanel();
center.add(new JLabel("CENTER"));
return center;
}
private JPanel makeNorth() {
JPanel north = new JPanel();
north.add(new JLabel("NORTH"));
return north;
}
private JPanel makeWest() {
JPanel west = new JPanel();
west.add(new JLabel("WEST"));
return west;
}
private JPanel makeSouth() {
JPanel south = new JPanel();
south.add(new JLabel("SOUTH"));
return south;
}
private JPanel makeEast() {
JPanel east = new JPanel();
east.add(new JLabel("EAST"));
return east;
}
public static void main( String[] args ) {
new Window();
}
}
Zuletzt bearbeitet von einem Moderator: