Gandalf: Hintergrundbild laden in einem JFrame

Ich habe mehrere Komponenten in einem JFrame  (Kom. sind JLabels, JButtons und TextFields)!
Nun würde ich gerne hinter alles ein Jpg als Hintergundbild legen! Meine Frage! Wie geht das?!! Ich sehe entweder nur das Bild oder nur die Komponenten!

Thx for your help

Gandalf

  1. hallo Gandalf,

    ich muß zugeben, daß ich zweimal lesen mußte, ehe mir klar war, daß du tatsächlich eine JAVA-Nachfrage hast und auch nicht mit iFrames kämpfst ...

    Ich habe mehrere Komponenten in einem JFrame  (Kom. sind JLabels, JButtons und TextFields)!
    Nun würde ich gerne hinter alles ein Jpg als Hintergundbild legen!

    trotzdem: auch für JAVA gilt, was wir eigentlich immer haben möchten. Ohne einen Blick in den Quelltext (deine *.java-Datei also vor dem Kompilieren) wird dir kaum zu helfen sein.

    Grüße aus Berlin

    Christoph S.

    PS: Ausrufezeichen verunsichern eher, statt die Lesbarkeit zu erhöhen, laß sie weg

    1. hier mein TestQuellcode
      wenn man das Bild aus der Paint Methode entfernt sieht alles wunderbar aus, aber habe mir leider in den Kopf gesetzt ein Bild als Hintergrundbild zu benutzen. Ist das den so schwirig?

      Thx for your help

      import java.awt.*;
      import javax.swing.*;
      import java.awt.event.*;

      public class JFrameTest extends JFrame
      {

      public static void main(String[] args)
       {
        JFrameTest Test = new JFrameTest();
        Test.pack();
        Test.setVisible(true);
        Test.show();
       }
       public JFrameTest()
       {
        super("JFrameTest");
        JPanel eigenesPanel = new JPanel();
        addWindowListener(new WindowAdapter()
        {
         public void windowClosing(WindowEvent we)
         {
          we.getWindow().setVisible(false);
          we.getWindow().dispose();
         }
         public void windowClosed(WindowEvent we)
         {
          System.exit(0);
         }
        });
        eigenesPanel.setLayout(new FlowLayout());
        JButton OK = new JButton("OK");
        eigenesPanel.add(OK);
        JLabel Nachricht = new JLabel("Dies ist eine Testnachricht!");
        eigenesPanel.add(Nachricht);
        JTextField testFeld= new JTextField("Test");
        eigenesPanel.add(testFeld);

      eigenesPanel.setOpaque(true);
        setContentPane(eigenesPanel);
       }

      public void paint(Graphics g)
       {
        // Hier ein beliebiges Bild eintragen für Testzwecke!!!
        Image img = getToolkit().getImage("test.jpg");
        g.drawImage(img, 0, 0, this);
       }
      }