http://expert.csdn.net/Expert/topic/1186/1186146.xml?temp=.7482569

解决方案 »

  1.   

    这里面Toolkit.getPrintJob()方法显示一个与平台相关的打印对话框。
    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);
    }
    });
    }
    }
      

  2.   

    to zxhong(红透半边天) :打开出错,看源码倒能看到,不过怎么一点解释都没有啊?
      

  3.   

    to hoxisoft(一切全为你):
    能不能帮我说不说最后打印出来的效果,
    如果我输入的是一个JScrolPane(JTable),它能自动把所有的表格都打出来吗?包括不可见的,以及能不能自动换行,如果长度过长的话
      

  4.   

    《最新Java2核心技术》卷2地七章有代码,你可以到http://www.horstmann.com(作者网站)去下来看看
      

  5.   

    生成PDF文件,然后用PDF来打印的要不要?
      

  6.   

    to haode(好的): 请问怎么打开PDF文件?我用的是java web start的客户端,不联服务器