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

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;
}
}