Applet的打印问题

cyberguy 2002-01-18 04:17:32
各位高手,我在APPLET中(IE下)要打印APPLET自己,但总是出现如下ERROR
java.security.AccessControlException: access denied (java.lang.RuntimePermission queuePrintJob )
at java.security.AccessControlContext.checkPermission(AccessControlContext.java, Compiled Code)
at java.security.AccessController.checkPermission(AccessController.java, Compiled Code)
at java.lang.SecurityManager.checkPermission(SecurityManager.java, Compiled Code)
at java.lang.SecurityManager.checkPrintJobAccess(SecurityManager.java:1314)
at java.awt.print.PrinterJob.getPrinterJob(PrinterJob.java:40)
at teethDiagram.printTeethDiagram(teethDig.java:1824)
at BtnColor.actionPerformed(BtnColor.java:218)
at java.awt.Button.processActionEvent(Button.java:308)
at java.awt.Button.processEvent(Button.java:281)
at java.awt.Component.dispatchEventImpl(Component.java, Compiled Code)
at java.awt.Component.dispatchEvent(Component.java, Compiled Code)
at java.awt.EventQueue.dispatchEvent(EventQueue.java, Compiled Code)
at java.awt.EventDispatchThread.pumpOneEventForComponent(EventDispatchThread.java, Compiled Code)
at java.awt.EventDispatchThread.pumpEventsForComponent(EventDispatchThread.java:95)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:90)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exit code: 0

原因是在调用 getPrinterJob() 方法时没有权限,如何是好?

在JAVA2图形设计一书中的例子也不行。
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.util.Properties;

public class PrintApplet extends Applet {
Button printButton = new Button("print ...");

static Frame getFrame(Component c) {
while((c = c.getParent()) != null) {
if(c instanceof Frame)
return (Frame)c;
}
return null;
}
static void printComponents(Component c) {
Toolkit tk = Toolkit.getDefaultToolkit();
Frame frame = getFrame(c);
Properties props = new Properties();

props.put("awt.print.printer", "durango");
props.put("awt.print.numCopies", "2");

if(tk != null) {
String name = c.getName() + " print job";
PrintJob pj = tk.getPrintJob(frame, name, props);//没有权限

if(pj != null) {
Graphics pg = pj.getGraphics();

if(pg != null) {
try {
c.printAll(pg);
}
finally {
pg.dispose();
}
}
pj.end();
}
System.out.println(props);
}
}
public void init() {
add(printButton);
add(new Label("print this label"));
add(new TextField("print this textfield"));
add(new TextArea(10,20));

printButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
printComponents(PrintApplet.this);
}
});
}
}
...全文
212 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyberguy 2002-01-18
  • 打赏
  • 举报
回复
如何修改或做答名??请指教
leolee 2002-01-18
  • 打赏
  • 举报
回复
你访问本地资源当然不行了。
修改policy或者做签名!
cyberguy 2002-01-18
  • 打赏
  • 举报
回复
楼上的高手,有没有源码?
hystream 2002-01-18
  • 打赏
  • 举报
回复
import java.awt.print.*;
先得到打印机句丙,然后调用StarDoc(),然后即可打印图形
cyberguy 2002-01-18
  • 打赏
  • 举报
回复
????/.>//''/;;;;;;;'/?'
''''

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧