나는 아래 코드를 가지고 있지만 실행하면 오류가 발생했다는 메시지 상자가 나타납니다. 왜이 작업을 수행하고 어떤 솔루션을 실행할 수 있습니까? 코드는 단순히 사용자를 허용해야합니다. TXT 파일에서 인쇄java-OPeration failed
코드 :
import java.io.*;
import javax.swing.JOptionPane;
import javax.print.*;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
public class printimg
{
public void printimg() throws FileNotFoundException, PrintException, InterruptedException {
String filename = ("item.text"); // THIS IS THE TEXT FILE TO PRINT
try{
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavor.INPUT_STREAM.TEXT_PLAIN_UTF_8; // FILE IS .txt TYPE
PrintService printService[] =
PrintServiceLookup.lookupPrintServices(flavor, pras);
PrintService defaultService =
PrintServiceLookup.lookupDefaultPrintService();
PrintService service = ServiceUI.printDialog(null, 200, 200,
printService, defaultService, flavor, pras);
if (service != null) {
DocPrintJob job = service.createPrintJob();
FileInputStream fis = new FileInputStream(filename);
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
}
}
catch(Exception a){
JOptionPane.showMessageDialog(null, "OPeration Failed");
}
}
}
오전 현재이 오류가 :
java.lang.IllegalArgumentException: services must be non-null and non-empty
at javax.print.ServiceUI.printDialog(ServiceUI.java:167)
at printimg.printimg(printimg.java:20)
at __SHELL8.run(__SHELL8.java:8)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at bluej.runtime.ExecServer$3.run(ExecServer.java:725)
예외의 스택 추적이 도움이 될 것입니다. – MrSmith42
문제가 무엇인지 알아 내기 위해 예외 ('a')를 기록하거나 인쇄해야합니다. –
bluej를 사용하고 있으며 스택 추적 또는 아무것도 볼 수 없으며 디버깅을 시도하고 있습니다. 그것 – user1892955