Avatar billede snuden Nybegynder
28. februar 2000 - 17:26 Der er 4 kommentarer og
1 løsning

Applet - hente data fra .txt

Hvordan henter jeg data fra .txt dokument til applet. I applet skal data bruges som string i fx TextArea.
I eksemplet her, virker det i en applikation, men jeg kan ikke få det til at virke i en applet.

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

public class LaesFile extends Frame implements Runnable {
    Thread runner;
    TextArea box = new TextArea("Getting text ...");

    public LaesFile() {
        super("Laes File");
        add(box);
    }

    public static void main(String[] arguments) {
        LaesFile frame = new LaesFile();

        WindowListener l = new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        };
        frame.addWindowListener(l);

        frame.pack();
        frame.setVisible(true);
        if (frame.runner == null) {
            frame.runner = new Thread(frame);
            frame.runner.start();

        }
      }

    public void run() {
        FileReader text;
        BufferedReader data;
        String line;
        StringBuffer buf = new StringBuffer();
        try {
            box.setText("Connection opened....");
            text = new FileReader("verbs.txt");
            data = new BufferedReader(text);
            box.setText("Reading data....");
            while ((line = data.readLine()) != null)
            {
                buf.append(line + "\n");
            }
            box.setText(buf.toString());
        }
        catch (IOException e) {
            System.out.println("IO Error:" + e.getMessage());
        }
    }
}


Avatar billede olebloch Nybegynder
28. februar 2000 - 20:39 #1
Her er koden der kan indlæse tekst fra en fil se nærmerer på readfile() proceduren den kan du meget let implemetere i dit program

VLH
Ole

import java.awt.*;
import java.applet.Applet;
import java.net.*;
import java.io.*;
public class readfilescroller extends Applet implements Runnable{
int msgWidth;
URL index;
String t="";
Image offImage;
Graphics offGraph;
int xpos=300;
String txt;
Thread theThread;   
int fart;
Dimension offd;
public void init(){
    fart=Integer.parseInt(getParameter("fart"));
    readfile();
    txt=t;
    setBackground(Color.white);
}

public void start() {
    if(theThread==null) {    
        theThread = new Thread(this);       
        theThread.setPriority(theThread.MAX_PRIORITY);
        theThread.start();
    }         
}
public void stop() {       
    theThread = null;   
}
public void paint(Graphics g) {
    update(g);
}
public void update(Graphics g){
    Dimension d=getSize();
    offd=d;
    offImage=createImage(d.width,d.height);
    offGraph=offImage.getGraphics();
    offGraph.setColor(Color.green);
    offGraph.fillRect(0,0,d.width,d.height);
    offGraph.setColor(Color.black);
    Font myfont=new Font("TimesRoman", Font.BOLD, 20);
    offGraph.setFont(myfont);
    FontMetrics fm = getFontMetrics(myfont);
    msgWidth= fm.stringWidth(txt);
    offGraph.drawString(txt, xpos, 20);           
    g.drawImage(offImage,0,0,this);
}
public void run() {
    int i=300;
    while(true) {
        repaint();
        if(i<=0-msgWidth){
        i=300;
        }
        i--;
        xpos=i;
    long startTime=System.currentTimeMillis();   
    try { 
    startTime+=fart;
    theThread.sleep (Math.max(0,startTime-System.currentTimeMillis()));  }
    catch (InterruptedException e)    {    }
    }
}
public void readfile() {
    try{
        index=new URL(getDocumentBase(),"news.txt");
        BufferedReader s1=new BufferedReader(new InputStreamReader(index.openStream()));
        while(true) {
            String line=s1.readLine();
            if(line==null)
            break;
            t=line;
        }
    }
    catch (IOException e){
        System.err.println("ERROR: " + e) ;
    }
}
}
Avatar billede andersb Nybegynder
29. februar 2000 - 10:11 #2
Af sikkerhedshensyn har en applet ikke lov til at åbne filer på klient-maskinen (der hvor web-browseren kører).
Du kan gå få det til at virke, så længe du tester det med sun appletviewer eller lignende, men med en rigtig browser går det ikke - med mindre du kan overtale dine klienter til at give dig adgang til deres filer (de skal rette i deres policy-fil).
Altså: Applets kan ikke åbne filer på klient-maskinen!
---
Hvad er det egentlig du skal bruge det til?

- Anders
Avatar billede snuden Nybegynder
29. februar 2000 - 22:13 #3
Hej Anders
Applet skal ikke åbne filer på klient-maskine. Den skal kunne læse .txt på server-maskine.
Jeg bruger ikke appletviewer.

-snuden

Avatar billede snuden Nybegynder
29. februar 2000 - 22:20 #4
Tak for dit svar Ole!

-snuden
Avatar billede andersb Nybegynder
01. marts 2000 - 10:16 #5
Jeg forstår ikke helt hvad der skal køre på klienten (applet i browser) henholdvis på serveren.
Måske har du forvekslet applet og applikation med grafisk brugergrænseflade :
Applet: "lille" program, der udføres af en web-browser eller lign.
Applikation: alm. program, der udføres af egen virtuel maskine.

- Anders
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