[Java] Problem mit der Referenz eines Graphics-Objekts

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Yaso, 29. Juli 2007 .

Schlagworte:
  1. #1 29. Juli 2007
    Problem mit der Referenz eines Graphics-Objekts

    Hallo
    ich möchte aus einer Instanz einer Canvas Klasse dass Graphics-Objekt referenzieren und dann damit zeichnen ... dafür habe ich folgenden Code geschrieben:

    Code:
    import java.awt.*;
    import javax.swing.*;
    
    class Bildflaeche extends Canvas
    {
     Bildflaeche()
     {
     setBackground(Color.black);
     }
     
     public Dimension getMinimumSize()
     {
     return new Dimension(300,300);
     }
     public Dimension getPreferredSize()
     {
     return getMinimumSize();
     }
    }
    
    public class demo extends JFrame{
     
     static Bildflaeche meineBildflaeche;
    
     
     demo(String fensterTitel)
     {
     super(fensterTitel);
     meineBildflaeche = new Bildflaeche();
     add(meineBildflaeche);
     
     //Hier kommt mein Problem:
     Graphics tmp = meineBildflaeche.getGraphics();
     tmp.drawRect(150, 150, 50, 50);
     meineBildflaeche.repaint();
     }
     public static void main(String[] args)
     {
     demo fenster = new demo("Testfenster");
     fenster.pack();
     fenster.setVisible(true);
     
     }
    }
    
    das Problem dabei ist das er anscheinend hier eine null-referenz erzeugt:
    Code:
     //Hier kommt mein Problem:
     Graphics tmp = meineBildflaeche.getGraphics();
     tmp.drawRect(150, 150, 50, 50);
     meineBildflaeche.repaint();
    
    ich erhalte folgende Exceptions :
    Code:
    Exception in thread "main" java.lang.NullPointerException
     at demo.<init>(demo.java:34)
     at demo.main(demo.java:39)
    
    wäre toll wenn mir jemand sagen könnte was da nicht stimmt. Achja mir geht es um die Referenz , dass ich in der paint-methode von meiner Canvasklasse Zeichnen kann weiß ich selber ;-) .

    mfG

    Yaso
     
  2. #2 29. Juli 2007
    AW: Problem mit der Referenz eines Graphics-Objekts

    hi,

    du müsstest einfach die methode paint in der klasse Canvas überschreiben.

    also so:
    Code:
    import java.awt.*;
    import javax.swing.*;
    
    class Bildflaeche extends Canvas
    {
     Bildflaeche()
     {
     super();
     setBackground(Color.black);
     }
     
     public Dimension getMinimumSize()
     {
     return new Dimension(300,300);
     }
     public Dimension getPreferredSize()
     {
     return getMinimumSize();
     }
     
     public void paint(Graphics g)
     {
     super.paint(g);
     g.drawRect(150, 150, 50, 50);
     }
    }
    
    public class demo extends JFrame{
     
     static Bildflaeche meineBildflaeche;
    
     
     demo(String fensterTitel)
     {
     super(fensterTitel);
     meineBildflaeche = new Bildflaeche();
     add(meineBildflaeche);
    
     }
     
     public static void main(String[] args)
     {
     demo fenster = new demo("Testfenster");
     fenster.pack();
     fenster.setVisible(true);
     
     }
    }
    
    hoffe es geht. untested!!!


    nice day!!
     

  3. Videos zum Thema
    Video Script
Die Seite wird geladen...

Ähnliche Themen mit den Stichworten: Java Problem Referenz

  1. Antworten:
    3
    Aufrufe:
    1.604
  2. [HTML] Kleines Zeichenproblem in Javascript
    Diversity, 18. Januar 2013 , im Forum: Webdesign
    Antworten:
    4
    Aufrufe:
    1.641
  3. Antworten:
    2
    Aufrufe:
    1.101
  4. [Windows 7] Java Problem
    Blackb!rd, 9. Oktober 2012 , im Forum: Anwendungssoftware
    Antworten:
    3
    Aufrufe:
    750
  5. [Java] Probleme mit der Hausaufgaben
    Enigma120, 17. September 2012 , im Forum: Programmierung & Entwicklung
    Antworten:
    9
    Aufrufe:
    1.649