• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 219
  • Last Modified:

input string to form url to read a file from a server

I have been trying to write an applet which allows the user to input 4 digits and take the input string to form a url
with it.
         I have an applet which can get a file from the server and one which can echo user input but I am stuck.
     
        The url is http://abcdefg/hijkl/m_nnnn.txt 
The user is to input "nnnn" and my applet is supposed to
form the url and display the file in their browser.
I have tried to combime these two programs but the  getfile
program is not quite right because it depends upon having an url in the applettag
The textfield program merely echos the user input.
I want to take that input and then form the url to read the file. Can anyone please help me. Thank you. Joseph Ruisi
        the code to echo user input is -
import java.awt.*;

public class TextFieldTest extends java.applet.Applet {

public void init() {
   
       MyTextField text = new MyTextField();
     add(text);
    }
 }
  class MyTextField extends TextField {
   
       public MyTextField() {
   super("Type Your Text",20);
}
}
and the program to get the file is

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


public class getFile extends java.applet.Applet {

TextArea text;
String URLString;

public void init() {
URLString = getParameter("url");
setLayout(new BorderLayout());
}

public void start() {
text = new TextArea();

add("Center",text);
add("South", new Button("press"));
try {
int nread;
byte buffer[] = new byte[1024];
URL url = new URL(URLString);
InputStream is = url.openStream();
while ((nread = is.read (buffer)) > 0) {
text.appendText(new String(buffer, 0));
}
}
catch (Exception exp) {
text.setText("Cannot Load: " + URLString  + "\n" + exp.toString());
}
}

}

0
boksi1
Asked:
boksi1
  • 3
  • 3
1 Solution
 
mlimotteCommented:
You only need one applet... something like the following, should do what you are asking for.  You may also want to add code to restrict what is entered into the TextArea.


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

public class getFile extends java.applet.Applet {
   
    TextArea text       = new TextArea();
    Button   btnOk      = new Button("Ok");
    String   server     = "abcdefg",
             url_prefix = "/hijkl/m_",
             url_suffix = ".txt";

    public void init() {
        setLayout(new BorderLayout());
        add("Center",text);
        add("South", btnOk);
    }
   
    public boolean action(Event event, Object what) {
        if (event.target == btnOk)
        {
   
            try {
                URL url = new URL ("http", server,
                    url_prefix + text.getText() + url_suffix);
                getAppletContext.showDocument(url);
            }
            catch (Exception exp) {
                text.setText("Cannot Load");
            }
   
            return true;
        }
        else
            return super.action(event, what);
    }

}

0
 
jpk041897Commented:
Edited text of question
0
 
boksi1Author Commented:
Yes First and simply thank you - your approach in one applet is straightforward and I think I understand it. I apologize for my ignorance, but when I compile it in JDK1.1.1 I get,
...undefined variable or class name; getAppletContext
the statement which is flagged is
    try {
                      URL url = new URL ("http", server,
                      url_prefix + text.getText() + url_suffix);
              ----->  getAppletContext.showDocument(url);
                      }
I would like to eliminate this error, I agree with your single applet design, truly portable, and neat. Can you help with the compile message- I really want to test this - it is a pleasure to
talk with someone as knowledgeable as yourself amd I am grateful for your help. I want to use this if I can eliminate the compiler message. Thank you. Yours truly, Joseph Ruisi

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
boksi1Author Commented:
Yes I am hoping that mlimotte will add a further comment
and I can eliminate the compiler error. Thanks so much, Joseph Ruisi
0
 
boksi1Author Commented:
Sorry, that was my fault.  getAppletContext is a method, not a property of Applet.  Therefore it should be accessed with () as in:

 ...

URL url = new URL ("http", server,                         url_prefix + text.getText() + url_suffix);
getAppletContext().showDocument(url);

 ...

0
 
mlimotteCommented:
I left the () out of the original code.  Simply add the parens () after the word getAppletContext and before the period.


0
 
mlimotteCommented:
Yes - getFile has compiled successfully and I will be testing it
Thank you for the help- I am now on the right track-
Mlimotte- THANK YOU!!

0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now