Guten Tag,
und zwar versuche ich gerade ein Frame zu haben, welches ein Bild als Hintergrund hat und darauf würde ich gerne Objekte setzen können, nur funktioniert das nicht so wie ich das will.
Und zwar wenn ich jetzt ein Objekt drüber lege, dann kann ich zum Beispiel nicht Koordinaten wählen, wo ich dieses Objekt gerne haben möche. Ich bekomme das auch mit diesen LayoutManagern nicht so hin.
Hier meine 2 Klassen:
Ich hoffe ihr könnt mir hier helfen, wie ich mittels diesen LayoutManagern selbst bestimmen kann, wo die einzelnen Komponenten hinkommen.
und zwar versuche ich gerade ein Frame zu haben, welches ein Bild als Hintergrund hat und darauf würde ich gerne Objekte setzen können, nur funktioniert das nicht so wie ich das will.
Und zwar wenn ich jetzt ein Objekt drüber lege, dann kann ich zum Beispiel nicht Koordinaten wählen, wo ich dieses Objekt gerne haben möche. Ich bekomme das auch mit diesen LayoutManagern nicht so hin.
Hier meine 2 Klassen:
Java:
import javax.swing.*;
import java.awt.event.*;
public class Ventilator extends JFrame
{
public Ventilator()
{
initComponents();
}
private void initComponents()
{
JFrame f = new JFrame("Ventilator");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new PicturePanel());
f.pack();
f.setSize(354, 771);
f.setLocationRelativeTo(null);
f.setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Ventilator();
}
});
}
}
Java:
import javax.swing.*;
import javax.imageio.*;
import java.awt.*;
import java.net.*;
import java.io.*;
public class PicturePanel extends JPanel {
private Image image, background;
public PicturePanel() {
super(new GridBagLayout());
try {
background = ImageIO.read(getClass().getResource("background.png"));
}
catch(IllegalArgumentException iae) {
JOptionPane.showMessageDialog(this, "Grafikdatei nicht gefunden!\n"+iae.getMessage());
System.exit(-1);
}
catch(IOException ioe) {
JOptionPane.showMessageDialog(this, "Fehler beim Einlesen einer Grafikdatei!\n"+ioe.getMessage());
System.exit(-1);
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if(background != null) {
g.drawImage(background, 0, 0, this);
}
}
}
Ich hoffe ihr könnt mir hier helfen, wie ich mittels diesen LayoutManagern selbst bestimmen kann, wo die einzelnen Komponenten hinkommen.
Zuletzt bearbeitet: