怎么会不可以,把jpg放在运行的class同一目录下tmp_file="map20.jpg"肯定可以的
其他的位置自己看着办

解决方案 »

  1.   

    haitangli3(愈加) 高人:
       你调试没有???真的行,我在我的电脑上调试怎么不行呢???
    分一定给~~~
      

  2.   

    说实话你这真是个垃圾问题
    你如果将jpg放在html一起就用getDocumentBase()的到路径加上jpg名字
    如jpg放在代码一起用getCodeBase()
      

  3.   

    这个String是用来构建File对象的,就是说在pic目录下肯定应该有map20.jpg这个文件。
    应该可以用相对路径来构建这个对象,前提是系统默认的相对路径里应该有这个jpg文件才对,可以参考一下jdk文档中的java.io.File是怎么工作的
      

  4.   

    haitangli3(愈加) :
    小子 不要笑话人好不好.如果我了解的话.我还问什么?
    再说了,你调试没有? 你真的确定你说的就对!你怎么知道我没有按照你说的调试!
    拜托你调试好了再发言!
    如果你说的真的对?我再开贴,你要多少分我就给你多少分!!!!!
    你按你说法调试一下看看.还垃圾问题^_^!
      

  5.   

    String filename1="./out.txt";
    String filename2="../../out.txt";
    try{
     FileInputStream fis = new FileInputStream(filename1);
     System.out.println(fis.toString());
     }
     catch(Exception e){
      e.printStackTrace();
      }
    可以输出当前路径(./)和上两级目录(../../)的文件
      

  6.   

    不好意思 我没仔细考虑
    我想是这样的
    因为你不是应用程序
    applet得到系统的路径都是以URL形式存在的都是经过转义的
    再说applet是不能访问本地系统的,而你要构建File类的本机文件类
    恐怕……
    赎我才疏学浅……!
      

  7.   

    import java.applet.Applet;
    import java.awt.Graphics;
    import javax.print.*;
    import javax.print.attribute.*;
    import javax.print.attribute.standard.*;
    import java.io.*;
    import java.awt.Image;
    import java.awt.MediaTracker;public class PrintFileTest extends Applet {
       String imageFile;
        String imageFile1;
        Image image;
        Image image1;
        Image img;
        public void init() {
        imageFile = getParameter("picture");
        imageFile1 = getParameter("picture1");    image = getImage(getDocumentBase(),imageFile); image1 = getImage(getDocumentBase(),imageFile1);    prepareImage(image,this);
        prepareImage(image1,this);    MediaTracker tracker = new MediaTracker(this);
        tracker.addImage(image,0);
        tracker.addImage(image1,0);    try{
          tracker.wait(0);
        }catch(Exception ignore){    }
        }    public void start() {
           printMap();
        }    public void stop() {
          // printMap();
        }    public void destroy() {    }
        public void paint(Graphics g) {
           g.drawImage(image1,0,0,this);       
        }    public void printMap(){
            
            String filename = imageFile;
            PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();        DocFlavor flavor = DocFlavor.INPUT_STREAM.JPEG;        PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
            PrintService defaultService =   PrintServiceLookup.lookupDefaultPrintService();
            PrintService service = ServiceUI.printDialog(null, 200, 200,printService, defaultService, flavor, pras);
            if (service != null) {
              try
              {            DocPrintJob job = service.createPrintJob();
                FileInputStream fis = new FileInputStream(filename);
                DocAttributeSet das = new HashDocAttributeSet();            Doc doc = new SimpleDoc(fis, flavor, das);
               // PageFormat format = job.pageDialog(attributes);
                job.print(doc, pras);
              }
              catch(Exception e)
              {
                e.printStackTrace();
              }
            }
        }
    }
    <html>
    <head>
    <title>test applet</title>
    </head>
    <body>
    <br>
    <applet
      code     = "PrintFileTest.class"  
      archive="print.jar"
      name     = "hello" 
      width    = "500"
      height   = "400"
      hspace   = "0"
      vspace   = "0"
      align    = "center"
    >
    <param name="picture"  value="0519/666.jpg">//用来打印的
    <param name="picture1"  value="0519/666.jpg"">//用来显示的
    </applet>
    </body>
    </html>
    这是很完整的程序! PrintFileTest.class 和HTML文件放在./文件夹下面,而666.jpg放在./0519下面.
    当运行这个*.html文件时上面可以显示666.jpg文件,可是不能把这个文件打印出来
    当你把<param name="picture"  value="0519/666.jpg">改为<param name="picture"  value="D:/./0519/666.jpg">时就可以打印出来!
    大家发表意见吧!!!数字签名我做完了!谢谢指点