Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/forums/java/)
-   -   Problems displaying multiple images from HDD (http://www.go4expert.com/forums/displaying-multiple-images-hdd-t25907/)

GullyPress 26May2011 08:25

Problems displaying multiple images from HDD
 
I have written a class to pull an image(s) from my HDD by pathname and I want to use the BufferImage class to read the image and then use the Graphics class from .AWT to drawImage onto the contentPane of my Frame. I have set up the drawImage in a for loop because I want to reproduce the image 5 times onto different areas using absolute position but the method is giving me a blank container. Any help? Here are the two classes

Main class:
Code:

public class Main{

    BufferedImage card;

    public static void main (String[] args){
        Main test = new Main();
        test.start();
    }

    public void start(){
        DisplayCards dc = new DisplayCards();
        card = dc.findCard();
        dc.paintCard(card);
    }



Display class:

 public BufferedImage findCard(){
        try {
            System.out.println("Enter filepath\n");
            BufferedReader bf = new BufferedReader
                    (new InputStreamReader(System.in));
            String imageName = bf.readLine();
            File inputFile = new File(imageName);
            tempImage = ImageIO.read(inputFile);
        } catch (IOException ie) {
            System.out.println("Error:" + ie.getMessage());
        }
        return tempImage;
    }

    public void paintCard(BufferedImage image){
        JFrame frame = new JFrame("Card Game");
        Panel panel = new DisplayCards();
        frame.getContentPane().add(panel);
        frame.setSize(800,600);
        frame.setVisible(true);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
        Graphics g;
        g = frame.getContentPane().getGraphics();
        g.drawImage(image, 100, 100, null);


      for (int i=0; i<5; i++){
        g.drawImage(image, (i * 150 + 25), 50, null);
        }
    }



All times are GMT +5.5. The time now is 19:23.