| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 
 |  
 
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JWindow;
import javax.swing.SwingUtilities;
 
public class TestJscrollPane {
 
    public static void main(String[] args) {
 
        SwingUtilities.invokeLater(new Runnable() {
 
            @Override
            public void run() {
 
                JPanel p1 = new JPanel();
                p1.setBackground(Color.blue);
                p1.setPreferredSize(new Dimension(800, 1600));
                JPanel p2 = new JPanel();
                p2.setBackground(Color.red);
                p2.setPreferredSize(new Dimension(400, 1600));
                JScrollPane jsp1 = new JScrollPane(p1);
                jsp1.setPreferredSize(new Dimension(400, 400));
                p2.add(jsp1);
                p2.setBorder(BorderFactory.createEmptyBorder(60, 60, 60, 60));
                JScrollPane jsp2 = new JScrollPane(p2);
                jsp2.setBorder(BorderFactory.createEmptyBorder(60, 60, 60, 60));
                jsp2.setSize(1000, 1000);
                jsp2.doLayout();
                jsp2.validate();
 
                JWindow f = new JWindow();
                f.getContentPane().add(jsp2);
                f.pack();
 
                f.doLayout();
                f.validate();
 
                BufferedImage im = new BufferedImage(jsp2.getSize().width, jsp2
                        .getSize().height, BufferedImage.TYPE_INT_ARGB);
                Graphics2D g2d = im.createGraphics();
                f.getContentPane().paint(g2d);
                g2d.dispose();
                f.dispose();
 
                try {
                    ImageIO.write(im, "png", new File("testcomp.png"));
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
 
            }
 
        });
 
    }
 
} | 
Partager