ダイアログがあります。ダイアログ内には、ユーザーアクションの結果を表示するテーブルビューアがあります。印刷ボタンを持つメソッドを作成しました。印刷コードのインクルードは、例から見つけたサンプル コードです。
final Text t = new Text(composite, SWT.BORDER | SWT.MULTI);
Button localPrintersButton = new Button(composite, SWT.PUSH);
localPrintersButton.setText("Print Results");
localPrintersButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
PrintDialog printDialog = new PrintDialog(Display.getCurrent().getActiveShell(), SWT.NONE);
printDialog.setText("Print");
PrinterData printerData = printDialog.open( );
if(!(printerData==null))
{
Printer p = new Printer(printerData);
p.startJob("PrintJob");
p.startPage( );
Rectangle trim = p.computeTrim(0, 0, 0, 0);
Point dpi = p.getDPI( );
int leftMargin = dpi.x + trim.x;
int topMargin = dpi.y / 2 + trim.y;
GC gc = new GC(p);
Font font = gc.getFont( );
String printText= t.getText( );
Point extent = gc.stringExtent(printText);
gc.drawString(printText, leftMargin, topMargin +
font.getFontData( )[0].getHeight( ));
p.endPage( );
gc.dispose( );
p.endJob( );
p.dispose( );
}
}
});
ダイアログが開くと、印刷ボタンの横にテキスト ボックスがあります。テキスト ボックスに何かを入力し、印刷ボタンを選択してローカル プリンターを選択すると、テキスト ボックスの内容が印刷されます。
テキストボックスの代わりにテーブルを印刷する方法を見つけようとしています これは可能ですか?