Avatar billede freddy04 Nybegynder
15. marts 2003 - 18:15 Der er 8 kommentarer og
1 løsning

Data til applet fra anden klasse

Jeg har en klasse (fil) der løbende udskriver streamede data i dos-vinduet vha. en while (true) repetition.

I stedet for vil jeg gerne have dette udskrevet i min applet. Hvordan kan man få smidt disse data der løbende kommer ind, over i appletten? Kan man lave noget med interne klasser så stream-klassen ligger under appletten? Jeg kan ikke helt huske hvordan det virker
Avatar billede freddy04 Nybegynder
15. marts 2003 - 18:21 #1
Den ensete anden mulighed jeg kan tænke på er at lade stream-klassen udskrive resultaterne til en tekstfil efterhånden som de kommer ind, og så lade appletten have en while(true) der hele tiden læser i tekstfilen... men det er da noget bøvet
Avatar billede arne_v Ekspert
15. marts 2003 - 18:24 #2
Kan din applet klasse ikke bare have en reference til din stream klasse ?
Avatar billede freddy04 Nybegynder
15. marts 2003 - 18:26 #3
hvordan mener du?
Avatar billede arne_v Ekspert
15. marts 2003 - 18:28 #4
Din applet indeholder:

Streamer stm = new Streamer(this);
stm.start();

og en:
  public void pushStreamText(String s)
metode.

og:

public class Streamer extends Thread {
    private Applet app;
    public Streamer(Applet app) {
      this.app = app;
    }
    public void run() {
      while(moredata) {
          // get data
          app.pushStreamText(s);
      }
    }
}
Avatar billede freddy04 Nybegynder
15. marts 2003 - 18:58 #5
Hmmm det virker ikke rigtigt da appletten jo ikke må køre fast i en vente-løkke.

Min modtager-klasse indeholder kun denne run-metode:

public void run()
  {
    try{
        in = new DataInputStream(connection.getInputStream());
        while(true)
        {
          message=(in.readUTF());
        }
      }
      catch(Exception e)
      {
        System.out.println("Fejl i modtagelse");
      }
  }



Men min applet har en init og en actionPerformed()som skal kunne reagerer
Avatar billede arne_v Ekspert
15. marts 2003 - 19:41 #6
Den Streamer klasse jeg skitserede kører jo en separat trød, så
apletten venter ikke på noget.
Avatar billede freddy04 Nybegynder
15. marts 2003 - 20:07 #7
er ikke helt sikker på jeg forstår din kode - hvad gør pushStreamText(String s)
Avatar billede arne_v Ekspert
15. marts 2003 - 20:13 #8
pushStreamText er en metode i applet-klassen som stream læse threaden
kan kalde (fordi den fik en referance til appletten med over i sin
constructor).

Den skal så vise teksten i appletten.
Avatar billede freddy04 Nybegynder
15. marts 2003 - 20:32 #9
Jeps det er jo klart :-) Det gælder om at have overblikket, tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester