SWT Browser
コントロールの使用を開始するためのサンプルを次に示します
public static void main(String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("Browser Test");
shell.setSize(500, 500);
shell.setLayout(new GridLayout(1,false));
final Browser browser = new Browser(shell, SWT.NONE);
browser.setUrl("https://maps.google.com/maps?hl=en&tab=wl");
//browser.setVisible(false);
browser.setLayoutData(new GridData(GridData.FILL_BOTH));
Button b = new Button(shell, SWT.NONE);
b.setText("Show");
b.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
Image img = new Image(display, 500, 500);
GC gc = new GC(img);
browser.print(gc);
gc.dispose();
showImage(img);
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
private static class ImageDialog extends Dialog
{
private Image img;
protected ImageDialog(Shell parentShell,Image img) {
super(parentShell);
this.img = img;
}
@Override
protected Control createDialogArea(Composite parent) {
Composite comp = (Composite) super.createDialogArea(parent);
Label lbl = new Label(comp,SWT.NONE);
lbl.setImage(img);
return comp;
}
@Override
protected void okPressed() {
img.dispose();
super.okPressed();
}
}
protected static void showImage(Image img) {
ImageDialog dialog = new ImageDialog(Display.getDefault().getActiveShell(), img);
dialog.open();
}
私たちが考えることができる別のアプローチ
ユーザーはdivを画像としてキャプチャし、コンピューターに保存します
javaスクリプトを実行しSWT Browser
Browser.execute(java script)
て、divをイメージにキャプチャします。