Java-JFrame: Graphics Objekt in Container integrieren

headaxX

Cadet 3rd Year
Registriert
März 2007
Beiträge
34
Hallo Community,

ich bin dabei ein kleines Konfigurationsmenü zu programmieren.
Eine Methode speichert ein Graphics-Objekt in eine globale Variable.

Zum Überblick:

//Variablen
Swing-Objekte werden initialisiert
private Graphics gfx1;

//
private Config(String title) throws IOException
{
// Frame-Initialisierung
.....
Container cp = new Container
.....
mehrere swing-elemente mit cp.add(...) integriert

}

Das Graphics-Objekt lässt sich selbstsamerweiße nicht mit cp.add(...) in den Container integrieren. Es wäre sehr nett wenn jemand von euch ein Weg wüsste dieses Problem zu lösen.

MfG headaxX
 
Was willst du denn mit dem Graphics-Objekt machen? Willst du einen Hintergrund malen? Willst du einfach ein Bild in der GUI malen?
 
Einen Hintergrund würde ich entweder als Bilddatei speichern und dann in einem abgeleiteten JPanel malen lassen:
Code:
public class BackGroundPane extends JPanel {
        Image img = null;

        BackGroundPane(String imagefile) {
            if (imagefile != null) {
                MediaTracker mt = new MediaTracker(this);
                img = Toolkit.getDefaultToolkit().getImage(imagefile);
                mt.addImage(img, 0);
                try {
                    mt.waitForAll();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }

        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(img,0,0,this.getWidth(),this.getHeight(),this);
        }
    }
Wenn du aber den Hintergrund selbst zeichnen willst, machst du es wie oben, überschreibst aber nur die Methode paintComponent().

Hier dann wieder zuerst
Code:
super().paintComponent(g);
Danach kannst du dann (in derselben Methode) mit den Methoden von Graphics dein Bild zeichnen.
 
Zurück
Oben