001    package viewguitest;
002    import java.awt.Container;
003    import java.awt.Dimension;
004    import java.awt.Graphics;
005    import java.awt.Image;
006    import java.awt.event.ActionEvent;
007    import java.awt.event.ActionListener;
008    import java.util.ArrayList;
009    
010    import javax.swing.JFrame;
011    import javax.swing.JPanel;
012    
013    import antichess.viewgui.ImageMap;
014    
015    /**
016     * The MainView class handles all of the GUI, the rendering
017     * the management of options etc.  More specifications to come
018     * 
019     * @author nlharr
020     *
021     *
022     *      
023     */
024    
025    public class ImageMapTest implements ActionListener {
026            
027    
028            private class ImageViewClass extends Container{
029                    private Image img;
030                    public ImageViewClass(Image img){
031                            this.img = img;
032                    }
033                    public void paint(Graphics g) {
034                            Dimension size = getSize();
035                    g.drawImage(img, 
036                                0, 0, size.width, size.height,
037                                0, 0, img.getWidth(null), img.getHeight(null),
038                                null);         
039                    }
040            
041                
042                /* We want to size the component around the text.  */
043                public Dimension getPreferredSize() {
044                    
045                    return new Dimension(img.getWidth(null), img.getHeight(null));
046                }
047    
048                    private static final long serialVersionUID = 4647775122186039615L;
049            }
050            
051            /**
052             * @return the content plane for the GUI
053             */
054            
055            private ImageMap imageMap;
056            public Container getContentPane(){
057                    JPanel cpanel = new JPanel();
058                    imageMap = new ImageMap("..\\viewguitest\\imagetestfolder");
059                    for (int i=0; i<2; i++){
060                            imageMap.loadImage("test"+Integer.toString(i));
061                    }
062                    ArrayList<String> strList = new ArrayList<String>();
063                    strList.add("test2");
064                    strList.add("test4");
065                    strList.add("test3");
066                    imageMap.loadImageList(strList);
067                    for (int i=0; i<5; i++){
068                            
069                            cpanel.add(new ImageViewClass( imageMap.getImage("test"+Integer.toString(i)) ) );
070                    }
071                    return cpanel;
072            }
073            
074            
075            /**
076             * Handles events for the TimerLabelTest
077             */
078             public void actionPerformed(ActionEvent e) {
079                     
080             }
081            
082            
083            /**
084         * Create the GUI and shows it.
085         */
086    
087        public static void createAndShowGUI() {
088            //Create and set up the window
089            JFrame.setDefaultLookAndFeelDecorated(true);
090            JFrame frame = new JFrame("AntiChessImageMapTest");
091            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
092    
093            //Create and set up the content pane and menu bar
094            ImageMapTest gui = new ImageMapTest();
095            frame.setContentPane(gui.getContentPane());
096            //Display the window
097            frame.setSize(400, 400);
098            frame.setVisible(true);
099        }
100    
101    
102        /**
103         * Tests the basics of loading images and getting images with the
104         * ImageMap class
105         * 
106         * Tests loadImage, getImage, loadImageList 
107         * 
108         */
109        
110        
111            public static void main(String args[]){
112                    
113                    javax.swing.SwingUtilities.invokeLater(new Runnable() {
114                            public void run() {
115                    createAndShowGUI();
116                }
117            });
118            }
119            
120    }