Zum Inhalt springen

Java Applet gescheitert!


Empfohlene Beiträge

Geschrieben

Hi Leute! Bin gerade an nen Applet beschäfftigt, dass eigentlich prima funktioniert, doch eine Sache bekomm ich ums verrecken nicht hin, und zwar eine Ladeanzeige, bis dass Applet vollständig startet! Kann mir dazu jemand tips geben?

Bin auch unter s_chitzu@web.de erreichbar!

MFG Schitzu

Geschrieben

Hi!

Funktioniert denn sowas wie getGraphics().drawString("lala",20,20) nicht, oder willst du einen Status-Bar? Den gibts erst in Swing. Ansonsten Heißt die Devise selbst zeichen. Schau dir die Graphics Dokumentation an.

Gruß

Hardcoder

Geschrieben

Hi,

naja das Applet startet, doch bis es vollständig geladen ist hätte ich gern eine Ladeanzeige, und wenn es nur anzeigt, wieviel Prozent bereits geladen wurden, soetwas wird doch im Mediatraker gespeichert oder? Auf alle Fälle hab ich schon ätliches ausprobiert doch nichts will mir gelingen!

Hat vielleicht jemand ein Beispielapplet für mich oder ähnliches, dass ich mir mal anschauen könnte? Es geht also nur um diese Ladeanzeige, ansonsten Funktioniert das Programm!

Geschrieben

Wie wärs mit sowas:

public void setState(int state){

Graphics g = this.getGraphics();

g.clearRect(20,20,200,200);

g.drawString(state+"%",20,20);

}

Die Methode schreibst du in dein Applet und rufst sie dann manuell auf und setzt die Prozentanzeige, also z.B. so:

init(){

setState(0);

..

..

setState(20);

..

[mehrCode]

..

setState(40);

[usw]

}

Gruß

Hardcoder

[ 18. Juni 2001: Beitrag editiert von: Hardcoder ]

Geschrieben

Hmm, naja damit würde nach und nach die Prozente raufgesetzt, aber es müßte doch acuh direckt gehen, wenn man herausfindet, wieviel Prozent des Bildes bereits im Cache stehen, oder?

Geschrieben

Ich weiß nicht, wie du das Bild lädst, evtl. musst du den Stream überschreiben und und dich quasi in die Lademethode reinhängen, wieviel schon geladen wurde. Oder du machste einen neuen Thread der in bestimmten Abständen nachschaut, wieviel vom Bild bereits geladen wurde. Aber ich kenn ja deinen Code nicht, von daher weiß ich auch nicht genau was du machst.

Gruß

Hard*Hellsehen kommt erst nächstes Schuljahr dran*coder

Geschrieben

OK, also, zur kurzen Erklärung!

Mein Java Applet zeigt (natürlich in einer HTML-Seite) ein Panorama-Bild! D.H. du stehst z.b. in einen Raum, in dem du dich nach alle richtungen umsehen kannst ...!

Es steckt also eigentlich nicht viel dahinter, jedoch sollte eben beim start des Applets eine Ladeanzeige sein, die ausgibt, wie lange es noch dauert, bis das bild geladen ist!

Geschrieben

Hmm, scheint so, als ob das nicht so ohne weiteres geht, da du nicht rausbekommst wieviel von der Datei schon geladen wurde. Du kannst nur rausbekommen, ob sie erfolgreich geladen wurde. Es gäbe nur noch die Möglichkeit, dass du dir die Sourcen anschaust und versuchst dich irgendwo mit reinzuklinken und mitzulesen.

Gruß

Hardcoder

Geschrieben

Mein Tipp wäre, dass du dir java.sun.com die Sourcen von deinem JDK runtersaugst, danach schaust du nach was er eigentlich so alles macht, wenn du ihm sagst er soll das Image laden. Ich denke mal er wird irgendwo einen Stream öffnen und die Daten einlesen. An der Stelle kannst du dann ansetzen, indem du die Methode vom Stream überschreibst und nachschaust wieviel er eingelesen hat. Am Besten du kopierst dir sämtliche Dateien, die quasi "auf dem Weg" zu dem Stream liegen und änderst sie so ab, dass sie andere Namen haben und nicht die Orginal-Klassen aufrufen.

Ich hoffe, dass man versteht was ich meine, ich hab die Angewohnheit mich verdrückt auszukehren. :rolleyes:

Gruß

Hardcoder

Geschrieben

Bahnhof! Bis zum einlesenden Stream konnte ich noch folgen aber was soll ich dann mit der Datei tun, gibt es da kein GetSize() oder sowas, wo ich die Größe der Datei ermitteln kann?

Geschrieben

Hi!

Die gesamte Größe der Datei bekommst du ja raus (Danke TuTuT :) ). Du brauchst nur noch mitzuzählen, wieviel Bytes gelesen wurden und kannst dann mit Hilfe der Gesamtgröße und der geladenen Bytes deine Prozentanzeige berechnen.

Gruß

Hardcoder

Geschrieben

also, wenn du den Stream hast, dann machst du dir ne Variable anzBytes mit demTyp int und überschreibst z.B. die Methode getByte() etwa so:

public Byte getByte(){

anzBytes++;

return super.getByte();

}

oder sowas wie get Line():

public String getLine(){

String tmp = super.getLine();

anzBytes += tmp.toCharArray().length;

}

dann hast du in der Variable anzBytes die anzahl der gelesenen Bytes

Hard*kann doch nicht so schwer sein*coder

Geschrieben

Falls es dir weiterhelfen tut:

schau mal unter den Stichpunkten

ProgressMonitor und ProgressMonitorInputStreams damit solltest

du das Problem elegantlösen können. Dazu

gibs irgendwo auf Sun-Webseite Tuturials..

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...