在APPLET实现打印?
除非Applet经过签名。

解决方案 »

  1.   

    用java.awt.print.*;包就可以了!
      

  2.   

    import java.util.*; 
    import java.awt.*; 
    import java.awt.event.*; 
    import java.applet.*; 
    //import netscape.security.PrivilegeManager; // this is Netscape's Capabilities API class ButtonActionListener implements ActionListener { 
    PrintableFrame frame; ButtonActionListener(PrintableFrame frame) { 
    this.frame = frame; 

    public void actionPerformed(ActionEvent e) { 
    frame.print(); 

    } class PrintableFrame extends Frame { 
    //boolean is_netscape = System.getProperty 
    ("java.vendor").substring(0,8).equals("Netscape"); 
    PrintableFrame() { 
    setSize(100,100); 
    setLayout(new GridLayout(1,1)); 
    Label label = new Label("Hello World!"); 
    add(label); 
    pack(); 

    public void print() { 
    Toolkit kit = getToolkit(); 
    try { 
    // if (is_netscape) 
    // PrivilegeManager.enablePrivilege 
    ("UniversalPrintJobAccess"); // get the PrintJob object 
    PrintJob job = kit.getPrintJob(this, "PrintableFrame print job", null); // do the printing if the user didn't cancel the print job 
    if (job != null) { 
    Graphics g = job.getGraphics(); 
    printAll(g); // not paint(g) // finish with this page 
    g.dispose(); // finish with the PrintJob 
    job.end(); 


    catch (Exception ex) { 
    // if (is_netscape && ex instanceof netscape.security.ForbiddenTargetException) 
    System.err.println("User did not grant print access"); 
    // else 
    // ex.printStackTrace(); 


    } public class Main extends Applet { 
    PrintableFrame frame = new PrintableFrame(); 
    public void init() { 
    frame.setVisible(true); 
    Button button = new Button("Print"); 
    add(button); 
    ButtonActionListener listener = new ButtonActionListener (frame); 
    button.addActionListener(listener);