Спецы по Java, нужна помощь!

  • Вот такая проблема возникла!
    Работаю над проэктом где через Java упровляется SVG- (векторная графика).
    Дело в том, что хочу анимировать один объект, скажем что бы он вращялся, для этого сделал for шляйфу при которой с каждым проходом передаются определённые аттрибуты стрингом в SVG фаил!
    Врашение объекта осуществляется, но происходит это в один момент, но должно поочерёдно с задержкой в две секунды!
    Получается что сначала шляйфа полностъю пробегает до конца (Endbedienung), а затем актуализируется SVG фаил, хотя должен после каждой, поочерёдно выполнять!


  • velocity.setAttribute по ходу проблема тут. Тебе надо в этой функции после записи в файл делать
    outputstream.fflush()
    иначе это попадает в буфер и записывается только призакрытии потока.

  • Спасибо за помощь! Нашёл проблему, надо Thread.sleep после обновления MENU.svgCanvas.updateUI(); SVG делать было!

  • я не 3наю какого типа у тебя твой велосити, но [flush]-ен (["runterschreiben erzwingen"]) желательно бы, как уже посоветовали, что бы быть уверенным что твой новый [value] ока3ался там где ты его ожидаешь...

    NULL


  • Вот актуальный код. Всё работает только процессор загружен на 100%. Есть ли возможность такт процессора понизить каким либо способом?
    Могу выложить весь код, кому интересно и SVG-Grafik тоже!

  • мне структура кода не нравится.


    я бы запустил один раз run()
    и цикл for крутил бы в нём
    и после каждого
    MENU.svgCanvas.updateUI();
    добавил бы sleep(100)
    спать менее 25 миллисекунд не рекомендую, могут быть проблемы с временем в Java ;-)


    Сообщение было отредактировано 2 раз, последнее редактирование пользователем Gena_Krokodil ().


  • изменил структуру кода, как ты мне посоветовал, цикл в методе run(), но почему то перестала функционировать svg.
    ошибок тоже не выдаёт!

  • ну если ты в цикле updateUI крутить будешь то конечно у тебя загрузка будет 100%


    Да я пробовал не в цикла делать, только тогда svg-datei не актуализируется!


  • Вот нынешняя метода! Картинка начинает крутится, только после первого шага выподает вот такой Fehler


    java.lang.ClassCastException: org.apache.batik.dom.svg.SVGOMImageElement cannot be cast to org.apache.batik.swing.gvt.AbstractJGVTComponent
    at f.changeVelocity$1.run(MENU.java:270)
    at org.apache.batik.util.RunnableQueue.run(RunnableQueue.java:237)
    at java.lang.Thread.run(Unknown Source)