Hier ist der Code, wenn das Bild auf den Hintergrund gelegt wird, bleibt es einfach an der linken Wand hängen, egal welchen Code ich hinzufüge, um es zu bewegen. Ich habe versucht, SetLocation und SetBounds. Alles was ich tun möchte ist, das Bild nach unten links zu verschieben, aber nicht vollständig an den Wänden des Rahmens.Wie verschiebe ich ein JLabel, das feststeckt und sich nicht bewegt?
JFrame window = new JFrame();
window.setSize(800,480);
window.setTitle("Battle");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLayout(new BorderLayout());
JLabel background = new JLabel();
ImageIcon icon = new ImageIcon("background2.png");
background.setIcon(icon);
background.setLayout(new BorderLayout());
window.setContentPane(background);
JLabel p1 = new JLabel();
p1 = a.getImage();
background.add(p1);
p1.setLocation(500,500);
p1.setVisible(true);
window.setVisible(true);
Border seine Arbeit tut. Ihre Aufrufe von setLocation bedeuten nichts, da BorderLayout wie jeder Layoutmanager entscheidet, wo die untergeordneten Komponenten platziert werden. Sie müssen wahrscheinlich lernen, wie man [GridBagLayout] (http://docs.oracle.com/javase/8/docs/api/java/awt/GridBagLayout.html) verwendet, aber zuerst wollen Sie lernen, wie LayoutManager funktionieren im Allgemeinen] (https://docs.oracle.com/javase/tutorial/uiswing/layout/). – VGR