mariejo Geschrieben 23. Januar 2006 Geschrieben 23. Januar 2006 Hallo, gibt es in Java die Möglichkeit das Caching auszuschalten? Dem Programm quasi zu verbieten Sachen aus dem Cache zu holen? vg*marie Zitieren
Whatever Geschrieben 23. Januar 2006 Geschrieben 23. Januar 2006 Stellt sich die Frage: Welcher Cache und was für Daten? Zitieren
mariejo Geschrieben 23. Januar 2006 Autor Geschrieben 23. Januar 2006 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. Zitieren
etreu Geschrieben 24. Januar 2006 Geschrieben 24. Januar 2006 An welcher Stelle versuchst du denn dein Bild zu aktualisieren? Zitieren
geloescht_Newlukai Geschrieben 24. Januar 2006 Geschrieben 24. Januar 2006 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. Zitieren
Krain Geschrieben 25. Januar 2006 Geschrieben 25. Januar 2006 ... 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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.