Auf Thema antworten

ich habe gerade herausgefunden, das dies ein Problem mit dem quellcode ist den ich ausführe, denn mit Thread.sleep(400) geht es bei mir auch. Das ist mein Quellcode den ich ausführe:


[code=Java]Cube cube = null;

        for (GridElement currentElement : gridElements) {


            if (currentElement instanceof Grid2DElement) {

                Grid2DElement elem = (Grid2DElement) currentElement;


                Vertex coords = elem.getCoordinates();

                if (cube == null) {

                    cube = new Cube();

                    cube.setName(name);

                    cube.setHeight(height);

                    cube.setWidth(elem.getWidth());

                    cube.setDepth(elem.getHeight());

                    cube.setAmbient(1f, 1f, 1f);

                    cube.setX(coords.x);

                    cube.setZ(coords.z);

                    cube.setY(0);

                    cube.setAngle(0, 0, 0);

                } else {

                    SubCube currentSubCube = new SubCube();

                    currentSubCube.setParent(cube);

                    currentSubCube.setHeight(height);

                    currentSubCube.setWidth(elem.getWidth());

                    currentSubCube.setDepth(elem.getHeight());

                    currentSubCube.setAmbient(1f, 1f, 1f);

                    currentSubCube.setX(coords.x);

                    currentSubCube.setZ(coords.z);

                    currentSubCube.setY(0);

                    currentSubCube.setAngle(0, 0, 0);


                    cube.addSubcube(currentSubCube);

                }

            }


            if (++currentElementCount % 50 == 0 || currentElementCount >= totalElementCount) {

                Thread.sleep(100);

                int currentProgress = (int) ((double) currentElementCount / (double) totalElementCount * 100);

                System.out.println("setProgress " + currentProgress);

                setProgress(currentProgress);

            }

        }[/code]


sobald ich folgendes auskommentiere, funktioniert es wunderbar und der PropertyChangeListener wird aufgerufen :

[code=Java]if (cube == null) {

                    cube = new Cube();

                    cube.setName(name);

                    ....

                } else {

                    SubCube currentSubCube = new SubCube();

                    currentSubCube.setParent(cube);

                    currentSubCube.setHeight(height);

                    ....


                    cube.addSubcube(currentSubCube);

                }[/code]



Oben