当前位置: 代码迷 >> J2SE >> 求方法:在指定路径上按照坐标画出图片
  详细解决方案

求方法:在指定路径上按照坐标画出图片

热度:76   发布时间:2016-04-24 00:30:02.0
求方法:在指定路径下按照坐标画出图片
准备做个扑克牌游戏,想先把所有的图片都加载进来,
我想在指定位置上画出图片,看了下API,ImageIcon里有个方法,paintIcon(Component, g, x, y);
自己想试一下,结果没有图片
突然发觉自己很多东西不会,
代码如下,欢迎拍砖
Java code
package image;import javax.swing.*;import java.awt.*;public class Image {    private static ImageIcon CardImage[] = new ImageIcon[58];  // Include four back of card image        /** Get the card image */    public static void loadImage(){        for(int i = 0; i < CardImage.length - 4; i++){            CardImage[i]  = new ImageIcon("card/" + i + ".png");        }                /** Load the four back of card */        CardImage[54] = new ImageIcon("card/b1fh.png");        CardImage[55] = new ImageIcon("card/b1fv.png");        CardImage[56] = new ImageIcon("card/b2fh.png");        CardImage[57] = new ImageIcon("card/b2fv.png");    }        /** Get the array of image label */    public static ImageIcon[] getImage(){        return CardImage;    }        public static void main(String args[]){        JFrame frame = new JFrame();        frame.setSize(500, 400);        frame.setLayout(new GridLayout(1, 1));        loadImage();        ImageIcon jlbImage[] = getImage();        JPanel panel = new Test(jlbImage);        frame.add(panel);                System.out.println(panel.getWidth());        System.out.println(panel.getHeight());                        frame.setLocationRelativeTo(null);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setVisible(true);    }}class Test extends JPanel{    public Test(ImageIcon[] imageIcon){        repaint();    }        protected void paintComponent(Graphics g, ImageIcon[] imageIcon){        super.paintComponent(g);        drawImage(imageIcon, g);    }        private void drawImage(ImageIcon[] imageIcon, Graphics g){        int xCoordinate = 0;        for(int i = 0; i < imageIcon.length; i++){            JLabel label = new JLabel();            label.setIcon(imageIcon[i]);            imageIcon[i].paintIcon(label, g, xCoordinate, 0);            xCoordinate += 10;        }    }}


------解决方案--------------------
protected void paintComponent(Graphics g, ImageIcon[] imageIcon){

你这个函数,谁来调用?完全没看出来有人去调用它?

你要注意,你修改了参数数量。这可不是 重写,是重载。你不调用就没人调用的。
  相关解决方案