// We add some artificial spacing because with scrollbars logic it is likely to be wrong...
imageSize.width = Math.max(originalSize.width, imageSize.width + 50);
imageSize.height = Math.max(originalSize.height, imageSize.height + 50);
nativeComponent.setSize(imageSize);
BufferedImage image = new BufferedImage(imageSize.width, imageSize.height, BufferedImage.TYPE_INT_RGB);
nativeComponent.paintComponent(image);
nativeComponent.setSize(originalSize);
Window window = SwingUtilities.getWindowAncestor(webBrowser);
JDialog dialog;
if(window instanceof Frame) {
dialog = new JDialog((Frame)window, "Full-page capture", true);