tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
555
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Die repaint Methode macht was sie will. Mal funktioniert alles,mal kommt ein Fehlermeldung und mal ist das Fenster grau(sollte eigentlich weis sein und es sollten schwarze Strich drauf sein).

    Bitte helft mir ich werde Wahnsinnig******!

    Ich habe eine Klasse die JPanel erweitert(extends) und dann noch JFrame und so.
    Dann hab ich geschrieben:

    frame.getContentPane().add(panel);

    In der Klasse panel steht in einer Methode repaint(). Könnte es da Probleme geben?
     

  2. #2
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Um dir zu helfen wäre die Fehlermeldung und etwas Code hilfreich! besonders alle Methoden, die mit paint() und paintComponent() zu tun haben.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  3. #3
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Fehlermeldung:

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at ColorEngine.paintComponent(ColorEngine.java:41)
    at javax.swing.JComponent.paint(JComponent.java:1029)
    at javax.swing.JComponent.paintChildren(JComponent.java:862)
    at javax.swing.JComponent.paint(JComponent.java:1038)
    at javax.swing.JComponent.paintChildren(JComponent.java:862)
    at javax.swing.JComponent.paint(JComponent.java:1038)
    at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
    at javax.swing.JComponent.paintChildren(JComponent.java:862)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
    at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
    at javax.swing.JComponent.paint(JComponent.java:1015)
    at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
    at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
    at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
    at java.awt.Container.paint(Container.java:1780)
    at java.awt.Window.paint(Window.java:3375)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
    at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:642)
    at java.awt.EventQueue.access$000(EventQueue.java:85)
    at java.awt.EventQueue$1.run(EventQueue.java:603)
    at java.awt.EventQueue$1.run(EventQueue.java:601)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:612)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

    Code:

    Code java:
    1
    2
    3
    4
    5
    
    public void end(){repaint();}
    public void paintComponent(Graphics g)
       {                    
                   g.fillRect(x1,x2,x3,x4);                    
        }
    natürlich vereinfacht aber der Rest ist unwichtig

    Theoretisch wird paintComponent() einmal aufgerufen.
    Aber praktisch ist das wie schon oben beschrieben immer unterschiedlich.
    Geändert von lonol15 (18.12.11 um 21:20 Uhr)
     

  4. #4
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Ist das alles von deiner paintComponent()-Methode? Welche Code-Zeile ist denn die Zeile 41?
    So wie es aussieht, versuchst du in der paintComponent()-Methode auf ein Objekt zuzugreifen, dessen Referenz ins Leere läuft. Graphics g, das Argument dieser Methode, kann eigentlich nicht null werden, also muss da noch anderer Code herumliegen.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  5. #5
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Ich habe keine Ahnung wiso, aber jetzt funktioniert alles.
    Wenn der Fehler nochmal auftritt melde ich mich.
     

  6. #6
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Ich glaube ich hab die Lösung. Ich hatte eine Klasse die nicht initialisiert wurde.
     

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 17.12.11, 14:28
  2. Antworten: 13
    Letzter Beitrag: 29.08.11, 10:08
  3. Flackern des Bildes..JPanel/repaint()
    Von girl2005 im Forum Java Grundlagen
    Antworten: 6
    Letzter Beitrag: 18.08.08, 07:18
  4. Problem mit repaint() in JPanel
    Von HansWernerM im Forum Java
    Antworten: 4
    Letzter Beitrag: 17.06.07, 00:02
  5. Permanenter Inhalt für JPanel (repaint vermeiden)
    Von cath im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 13.04.05, 08:48