G
Guest
Gast
Hi,
ich habe ein Problem.
Ich möchte mir Punkte in einem Koordinatensystem eintragen lassen.
Das System lässt sich zeichnen.
Die Fehler bekomme ich bei den Punkten.
Das Problem ist, dass ich immer wieder folgende Fehler bekomme:
Mein Code sieht folgender maßen aus:
Woran liegen diese Fehler?
Danke.
cu
ich habe ein Problem.
Ich möchte mir Punkte in einem Koordinatensystem eintragen lassen.
Das System lässt sich zeichnen.
Die Fehler bekomme ich bei den Punkten.
Das Problem ist, dass ich immer wieder folgende Fehler bekomme:
Code:
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at drawing.Canvas.paintComponent(Canvas.java:79)
at javax.swing.JComponent.paint(JComponent.java:1027)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5122)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285)
at javax.swing.RepaintManager.paint(RepaintManager.java:1128)
at javax.swing.JComponent._paintImmediately(JComponent.java:5070)
at javax.swing.JComponent.paintImmediately(JComponent.java:4880)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:723)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:679)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:659)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Mein Code sieht folgender maßen aus:
Code:
import drawing.*;
import java.awt.Color;
public class DrawGraphs {
private Window frame;
private int numberOfGames;
private Canvas canvas;
private double probability;
private double averageWin;
public DrawGraphs(int numberOfPlayer , int games){
this.numberOfGames = games;
this.probability = 3 / numberOfPlayer;
this.averageWin = 0;
frame = new Window();
frame.initalize("Verteilung der Gewinner",
this.numberOfGames + 100, this.numberOfGames / 2 + 100);
canvas = new Canvas();
drawSystem();
drawDescription();
}
public void drawPlayer(int playerNumber , int numberOfWin , int numberOfGame){
canvas = frame.getCanvas();
canvas.drawLine(29 + numberOfGame , 30 + this.numberOfGames / 2 - numberOfWin ,
30 + numberOfGame , 31 + this.numberOfGames / 2 - numberOfWin ,
Color.RED);
canvas.repaint();
}
public void drawAverage(int numberOfGame){
this.averageWin += this.probability * numberOfGame;
canvas = frame.getCanvas();
canvas.drawLine(29 + (int)this.averageWin , 30 + this.numberOfGames / 2 - (int)this.averageWin ,
30 + (int)this.averageWin , 31 + this.numberOfGames / 2 - (int)this.averageWin ,
Color.BLUE);
canvas.repaint();
}
private void drawSystem(){
this.canvas = frame.getCanvas();
DrawableLine verticalAxis = new DrawableLine(Color.BLACK , 30 , 30 , 30 ,
30 + this.numberOfGames / 2);
DrawableLine horizontalAxis = new DrawableLine(Color.BLACK ,
30 ,
30 + this.numberOfGames / 2 ,
30 + this.numberOfGames ,
30 + this.numberOfGames / 2);
DrawableText verticalDesc = new DrawableText(Color.BLACK , "Number of wins" , 10 , 20);
DrawableText horizontalDesc = new DrawableText(Color.BLACK , "Number of games" ,
this.numberOfGames - 20 , this.numberOfGames / 2 + 50);
canvas.drawObject(verticalAxis);
canvas.drawObject(horizontalAxis);
canvas.drawObject(verticalDesc);
canvas.drawObject(horizontalDesc);
canvas.repaint();
}
private void drawDescription(){
this.canvas = frame.getCanvas();
this.canvas.drawLine(80, 45, 95, 45, Color.RED);
this.canvas.drawLine(80, 65, 95, 65, Color.BLUE);
DrawableText player = new DrawableText(Color.BLACK , " = The wins of the players" ,
100 , 50);
DrawableText average = new DrawableText(Color.BLACK , " = The wins which would be mathmetical right" ,
100 , 70);
this.canvas.drawObject(player);
this.canvas.drawObject(average);
this.canvas.repaint();
}
}
Woran liegen diese Fehler?
Danke.
cu