23. Januar 200620 j Hallo, gibt es in Java die Möglichkeit das Caching auszuschalten? Dem Programm quasi zu verbieten Sachen aus dem Cache zu holen? vg*marie
23. Januar 200620 j Stellt sich die Frage: Welcher Cache und was für Daten? Ich lese ein Bild (testBild.png) von Platte in mein Applet mit: ... public void paint(Graphics g) { g.clearRect(0,0,1000,100); setURL("testBild.png"); setPic(getImage(getDocumentBase(),getURL())); g.drawImage(getPic(),50,100,this); } ... Was auch funktioniert. In einem anderen Thread lade ich das Bild alle 3 Sekunden neu. (was auch funktioniert wenn das Bild unterschiedlich heißt) Auf der Platte wird per Cam ständig ein neues Bild unter dem Namen testBild.png gespeichert. Eigentlich sollte er ja dann alle 3 Sekunden das aktuelle Bild anzeigen. Tut er aber nicht. Stattdessen zeigt er nur das erste aufgenommene an. Ich hab die Vermutung, daß er das Bild irgendwie cached und denkt, daß es sich nicht geändert hat, weil der Name ja der gleiche bleibt.
24. Januar 200620 j Ich hab die Vermutung, daß er das Bild irgendwie cached und denkt, daß es sich nicht geändert hat, weil der Name ja der gleiche bleibt. Ich denke, daß das Caching vom Browser erledigt wird und Dein Programm als Applet keine Chance hat, daran etwas zu ändern. Ist aber nur eine Vermutung.
25. Januar 200620 j ... In einem anderen Thread lade ich das Bild alle 3 Sekunden neu. (was auch funktioniert wenn das Bild unterschiedlich heißt) Auf der Platte wird per Cam ständig ein neues Bild unter dem Namen testBild.png gespeichert. Schickst du auch wirklich eine repaint()-Anweisung aus diesem Thread an das Applet? Ansonsten würde imho das Applet die paint nur ausführen wenn, das (browser-)Fenster sich in Größe oder Position verändert. Ansonsten würde ich das ganze über eine Art Gameloop im Applet lösen, so wie es hier beschrieben wird. Die Schleife im Applet holt sich in diesem Fall immer die aktuelle Referenz zum Bild aus deinem Thead.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.