ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
555
555
EMPFEHLEN
-
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?
-
18.12.11 21:11 #2
- 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)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
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:
natürlich vereinfacht aber der Rest ist unwichtigCode java:1 2 3 4 5
public void end(){repaint();} public void paintComponent(Graphics g) { g.fillRect(x1,x2,x3,x4); }
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)
-
18.12.11 22:20 #4
- 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)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
Ich habe keine Ahnung wiso, aber jetzt funktioniert alles.
Wenn der Fehler nochmal auftritt melde ich mich.
-
Ich glaube ich hab die Lösung. Ich hatte eine Klasse die nicht initialisiert wurde.
Ähnliche Themen
-
JPanel methode repaint() funktioniert nicht wie erwartet
Von lonol15 im Forum JavaAntworten: 7Letzter Beitrag: 17.12.11, 14:28 -
Component von JPanel mit Null Layout auf JPanel mit FlowLayout verschieben
Von TobyNick im Forum JavaAntworten: 13Letzter Beitrag: 29.08.11, 10:08 -
Flackern des Bildes..JPanel/repaint()
Von girl2005 im Forum Java GrundlagenAntworten: 6Letzter Beitrag: 18.08.08, 07:18 -
Problem mit repaint() in JPanel
Von HansWernerM im Forum JavaAntworten: 4Letzter Beitrag: 17.06.07, 00:02 -
Permanenter Inhalt für JPanel (repaint vermeiden)
Von cath im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 13.04.05, 08:48





Zitieren
Login





