妞妞的小问题 好心人来看看吧 可以用相对路径的。你看看你的相对路径写对了么?相对于你这个.class来说。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好的 我马上就去调试.谢谢 三毛 和Geniusth(I'm just a Fool) 三毛说的我试过了,不行!!!!Geniusth(I'm just a Fool) 说的好像也不行!!你们可以调试一下! FileInputStream fis = new FileInputStream(filename);//这个并不需要一定是绝对路径的。你把这个类文件和图片放在一起,然后TMP_FILE="map20.jpg";也行的。相对路径时,往往是一个.或者是“/”的差异,细心找问题吧。或者把你的路径信息写出来 是不是你的java运行路径的问题。java中文件的相对路径是可以的,但是相对路径是相对于你的java.exe/javaw.exe运行起始位置的,比如: d:\tmp\java -cp . xxx 那么在当前进程中的文件相对路径都是相对于d:\tmp的。 相对路径应该相对于System.getProperty("user.dir");你确定没错吗? binny(骑个破车看夕阳)说得没错,程序运行的起始位置将会作为System的参数存放到user.dir key中,还有其他很多参数也存放到其他的key中,如:user.home等。 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">时就可以打印出来!大家发表意见吧!!!数字签名我做完了!谢谢指点 菜鸟级的问题,求帮助 java 对文件进行加密解密 出问题了 远程连接linux下的mysql数据库问题!!! Can anyone help on this java creation? thanks 两段程序 输出时结果不一样 一个101 0,一个101 100 不知道区别在哪? 只能输入4位半角数字的JTextField中输入全角字符时会消去已有的数字。 大侠们好,你们感觉java 2 Bible java 2宝典如何? java中stack的问题 简单问题 javadoc工具有什么用? 还得从新贴~~~都化了500分了 三个(java基础)问题
三毛说的我试过了,不行!!!!
Geniusth(I'm just a Fool) 说的好像也不行!!
你们可以调试一下!
这个并不需要一定是绝对路径的。你把这个类文件和图片放在一起,然后TMP_FILE="map20.jpg";也行的。
相对路径时,往往是一个.或者是“/”的差异,细心找问题吧。或者把你的路径信息写出来
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">时就可以打印出来!
大家发表意见吧!!!数字签名我做完了!谢谢指点