0
현재 사용자에게 항목 테이블을 보여주는 이클립스 플러그인을 작성 중입니다.인쇄를 위해 JFace 대화 상자의 스크린 샷을 만드는 방법은 무엇입니까?
사용자가 tablerow를 두 번 클릭하면 사용자가 대화 상자를 인쇄하거나 취소 할 수있는 사용자 정의 JFace-Dialog가 열립니다.
대화 상자의 스크린 샷을 이미지로 만들려면 어떻게해야합니까?
지금 내 attemp는 나에게 작은 사각형을 제공합니다.
PrintDialog dialog = new PrintDialog(this.getShell(), SWT.NONE);
PrinterData data = dialog.open();
if(data == null)
{
return;
}
GC gc = new GC(this.getShell().getDisplay());
final Image image = new Image(this.getShell().getDisplay(), this.getShell().getBounds());
gc.copyArea(image, this.getShell().getBounds().x, this.getShell().getBounds().y);
gc.dispose();
Printer printer = new Printer(data);
if(printer.startJob("Print"))
{
GC g = new GC(printer);
if(printer.startPage())
{
g.drawImage(image, 0, 0);
}
g.dispose();
printer.endPage();
}
printer.endJob();
printer.dispose();
생성 된 '이미지'에 전체 영역이 포함되어 있습니까? – Baz
이미지에 열려있는 PrinterDialog의 작은 영역이 있지만이 동작을 방지하기 전에 이미지를 만드는 것이 좋습니다. – ioboi
내가 한 말은 : 당신이 만드는 ('image'라고 불리는) 실제'Image' 인스턴스는 전체 영역을 포함합니까? 프린터에서 그릴 때 사용하는 카드입니까? – Baz