Hilfe!
Okay, ich versuche es mal möglichst präzise zu erklären: Ich habe folgenden Codeabschnitt:
xKoord und yKoord sind float-Arrays, anzForm und anzPunkte sind ints.
Der Konstruktor von MeineHilfsKlasse sieht so aus:
(Meiner Meinung nach macht das super Probleme, da es in einer früheren Version ohne dieses noch problemlos lief)
super bezieht sich hierbei auf Polygon2D, von der MeineHilfsKlasse erbt
(siehe: https://svn.apache.org/repos/asf/xm.../org/apache/batik/ext/awt/geom/Polygon2D.java )
Den wichtigen Teil von Polygon2D füge ich der Einfachheit halber auch mal an:
Teste ich jetzt mit einer Datei, die xKoords mit 0,0,1.5,1.5 füllt, yKoords mit 0,1.5,1.5,0, anzFormen mit 3 und anzPunkte mit 4, muckt es trotzdem. Weiß jemand woran es liegt? :/
Okay, ich versuche es mal möglichst präzise zu erklären: Ich habe folgenden Codeabschnitt:
Java:
public meineFunktion(File file)
{
boolean passt;
private List<MeineHilfsKlasse> meineListe = new ArrayList<MeineHilfsKlasse>();
try
{
// Die Textdatei file wird zeilenweise ausgelesen und Inhalte in entsprechenden Variablen gespeichert
// Das klappt so weit auch, daher kürze ich hier mal ab
// Stress macht die folgende Zeile. Ohne sie hat passt = true, mit ihr aber leider false, also scheint da was zu haken.
MeineHilfsKlasse hi = new MeineHilfsKlasse(xKoord, yKoord, anzForm, anzPunkte);
meineListe.add(hi);
passt = true;
}
catch(Exception e)
{
passt = false;
}
}
xKoord und yKoord sind float-Arrays, anzForm und anzPunkte sind ints.
Der Konstruktor von MeineHilfsKlasse sieht so aus:
(Meiner Meinung nach macht das super Probleme, da es in einer früheren Version ohne dieses noch problemlos lief)
Java:
public MeineHilfsKlasse(float[] xWerte, float[] yWerte, int anzForm, int anzPunkte)
{
super(xWerte, yWerte, anzPunkte);
this.gewuenschteAnzahl = anzForm;
}
super bezieht sich hierbei auf Polygon2D, von der MeineHilfsKlasse erbt
(siehe: https://svn.apache.org/repos/asf/xm.../org/apache/batik/ext/awt/geom/Polygon2D.java )
Den wichtigen Teil von Polygon2D füge ich der Einfachheit halber auch mal an:
Java:
public class Polygon2D implements Shape, Cloneable, Serializable {
public int npoints;
public float[] xpoints;
public float[] ypoints;
protected Rectangle2D bounds;
private Path2D path;
private Path2D closedPath;
public Polygon2D(float[] xpoints, float[] ypoints, int npoints)
{
if (npoints > xpoints.length || npoints > ypoints.length)
{
throw new IndexOutOfBoundsException("npoints > xpoints.length || npoints > ypoints.length");
}
this.npoints = npoints;
this.xpoints = new float[npoints];
this.ypoints = new float[npoints];
System.arraycopy(xpoints, 0, this.xpoints, 0, npoints);
System.arraycopy(ypoints, 0, this.ypoints, 0, npoints);
calculatePath();
}
private void calculatePath()
{
path.moveTo(xpoints[0], ypoints[0]);
for (int i = 1; i < npoints; i++) {
path.lineTo(xpoints[i], ypoints[i]);
}
bounds = path.getBounds2D();
closedPath = null;
}
}
Teste ich jetzt mit einer Datei, die xKoords mit 0,0,1.5,1.5 füllt, yKoords mit 0,1.5,1.5,0, anzFormen mit 3 und anzPunkte mit 4, muckt es trotzdem. Weiß jemand woran es liegt? :/
Zuletzt bearbeitet: