[java] 자바 스윙 컴포넌트에서 문서를 인쇄하는 방법을 알려주세요.
import java.awt.*;
import java.awt.print.*;
public class PrintExample implements Printable {
@Override
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
if (pageIndex > 0) {
return NO_SUCH_PAGE;
}
// 문서를 그리는 코드 작성
Graphics2D g2d = (Graphics2D) g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
g.drawString("인쇄할 내용", 100, 100);
return PAGE_EXISTS;
}
public static void main(String[] args) {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(new PrintExample());
if (job.printDialog()) {
try {
job.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
}
이 예제에서는 Printable 인터페이스를 구현하여 문서를 그리는 로직을 작성했습니다. 또한, PrinterJob 클래스를 사용하여 프린터 대화상자를 표시하고 문서를 인쇄할 수 있도록 설정했습니다.
이 예제를 실행하면 사용자가 프린터를 선택하고 인쇄 설정을 조정한 후 문서를 인쇄할 수 있습니다.
더 많은 정보를 원하시면 Java Printing API 문서를 참고하실 수 있습니다.