首页 > 解决方案 > 使用paintComponent将位置设置为图像

问题描述

我有下一个代码:

public class GalleryPrinter extends JPanel {

    private BufferedImage image;

    public GalleryPrinter() {

    }

    public GalleryPrinter(LinkedList<String> paths) {

        for(int i = 0; i < paths.size(); i++ ) {

            try {
                image = ImageIO.read(new File(paths.get(i)));


            } catch (IOException ex) {
                Logger.getLogger(GalleryPrinter.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        //g.drawImage(image, 25, 25, this); // see javadoc for more info on the parameters
        g.drawImage(image, 0, 0, 140, 200, this);
    }

}

但是在同一个地方打印所有图像,在这里定义:

g.drawImage(image, 0, 0, 140, 200, this);

我怎样才能使这个职位动态?类似于:如果是第一张图片 g.drawImage(image, 0, 0, 140, 200 * index, this); 创建垂直图像库。

有人可以帮我吗?

标签: javaswing

解决方案


推荐阅读