会applete的DX请帮帮手。看看applete打印问题
一个applete的类,里面包含一个内部类,
那么在页面里面需要怎么写才能将内部类一块儿下载到客户端?
比如
<applet code="PrintAppletTest.class" codebase="/applets/" name="PrintAppletTest" width="0" height="0" id="PrintAppletTest" VIEWASTEXT>
</applet>
PrintAppletTest里面有个class Hello(){}内部类,需要怎样才能将这个内部类下载下来?或则就不需要指定?
我有个awt的打印程序,不在applete里运行能打印,但做成applete就打印不了?是不是这个内部类没下载?
代码在下面
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.util.Properties;
import java.awt.font.FontRenderContext;
import java.awt.print.*;
import java.io.*;
import java.awt.Graphics;
import java.awt.print.*;
public class PrintAppletTest extends Applet {
class Hello
implements Printable { //可打印的内容。
public int print(Graphics g, //可以任意画打印的内容的白纸。
PageFormat pf, // 打印格式,缺省。
int pageIndex) { // 页码,从0开始。
if (pageIndex != 0) {
return NO_SUCH_PAGE; //停止打印。
}
g.drawString("Hello World!", 100, 100); //在纸上画字符串。
return PAGE_EXISTS; //继续打印。
}
}
private boolean isStandalone = false;
String strText;
String strName="";
//Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}
//Construct the applet
public PrintAppletTest() {
}
//Initialize the applet
public void init() {
try {
strText = this.getParameter("strText", "");
}
catch(Exception e) {
e.printStackTrace();
}
}
void initForm()
{
setVisible(false);
}
//Get parameter info
public String[][] getParameterInfo() {
String[][] pinfo =
{
{"strText", "String", ""},
};
return pinfo;
}
public void print(String str){
PrinterJob myPrtJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = myPrtJob.defaultPage();
myPrtJob.setPrintable(new Hello());
if (myPrtJob.printDialog())
{
try
{
myPrtJob.print();
}
catch(PrinterException pe)
{
pe.printStackTrace();
}
}
}
}