You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
1.6 KiB
Java
88 lines
1.6 KiB
Java
import java.applet.*;
|
|
import java.awt.*;
|
|
import netscape.javascript.JSObject;
|
|
import java.net.URL;
|
|
import java.io.*;
|
|
|
|
public class JSfileopener extends Applet
|
|
{
|
|
public String bgcolor;
|
|
public DataInputStream stream;
|
|
|
|
public String getAppletInfo()
|
|
{
|
|
return "Name: JS Fileloader\n" +
|
|
"Author: Daniel Thoma\n" +
|
|
"E-Mail: dthoma@gmx.net\n" +
|
|
"Tested with: MSIE 4.x/5.x NN 4.x";
|
|
}
|
|
|
|
public String[][] getParameterInfo()
|
|
{
|
|
String[][] info =
|
|
{
|
|
{"color","color","something like #ff00ab"}
|
|
};
|
|
return info;
|
|
}
|
|
|
|
public void init()
|
|
{
|
|
bgcolor = getParameter("color");
|
|
if(bgcolor == null)
|
|
{
|
|
bgcolor = ((JSObject)JSObject.getWindow(this).getMember("document")).getMember("bgColor").toString();
|
|
}
|
|
}
|
|
|
|
public void paint(Graphics g)
|
|
{
|
|
g.setColor(Color.decode(bgcolor));
|
|
Rectangle r = g.getClipBounds();
|
|
g.fillRect(r.x, r.y, r.width, r.height);
|
|
}
|
|
|
|
public void setBgcolor(String colorvalue)
|
|
{
|
|
bgcolor = colorvalue;
|
|
repaint();
|
|
}
|
|
|
|
public void setFile(String master, String file) throws IOException
|
|
{
|
|
URL url = new URL(new URL(master), file);
|
|
stream = new DataInputStream(url.openStream());
|
|
}
|
|
|
|
public void setFile(String file) throws IOException
|
|
{
|
|
URL url = new URL(file);
|
|
stream = new DataInputStream(url.openStream());
|
|
}
|
|
|
|
public String readFile() throws IOException
|
|
{
|
|
String line = "";
|
|
if((line = stream.readLine()) != null)
|
|
{
|
|
return line;
|
|
}
|
|
else
|
|
{
|
|
stream.close();
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public String getFile() throws IOException
|
|
{
|
|
String source = "";
|
|
String line;
|
|
while((line = readFile()) != null)
|
|
{
|
|
source += line +"\n";
|
|
}
|
|
return source;
|
|
}
|
|
}
|