0
我目前正在研究一個eclipse插件,它向用戶顯示一個條目表。如何爲打印創建JFace對話框的屏幕截圖?
如果用戶雙擊一個表格,將打開一個自定義JFace對話框,用戶可以在其中打印或取消對話框。
如何創建對話框的截圖作爲圖像?
我現在的嘗試只給了我一個小矩形。
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();
創建的Image是否包含整個區域? – Baz
圖像包含打開的PrinterDialog的一個小區域,但我認爲之前創建圖像會防止此行爲。 – ioboi
我的意思是:你創建的實際'Image'實例(叫做'image')是否包含整個區域?你用來在打印機上畫的那個? – Baz