从数组中抽出对象

时间:2013-12-08 01:58:21

标签: java swing object arraylist subclass

很抱歉再问一个问题,但是我再次难倒,Arraylists就是不喜欢我;)。 现在我坚持绘制对象的问题,除了可能在随机的地方之外,它们不会被绘制。我想也许我只创建一个对象并将它放在新阵列中但我不完全确定。 block是污垢的超类。

    public class MuthaLoad extends JPanel {

        public static void main(String[] args) {
            JFrame window = new JFrame("MuthaLoad");
            window.setContentPane(new MuthaLoad());
            window.setSize(600,600);
            window.setLocation(100,100);
            window.setVisible(true);

    }
        private int health=100;
        private int money=100;

        private ArrayList<Block> blockWorld=new ArrayList<Block>();
        private int colum=0;
        private int row=0;

        public MuthaLoad(){
            for(int i=0;i<144;i++){
                if(i%12==0){
                    colum=0;
                    row+=50;
                }
                blockWorld.add(new Block(0,0));
                int random=(int)(Math.random()*100);
                System.out.println(colum + "" + row);
                blockWorld.add(new Block.Dirt(colum,row));
                if(i<72){

                }
                else{
                    blockWorld.add(new Block.Dirt(i,i));
                }
//              else if(random<5){
//                  
//              }
//              else if(random<50){
////                    blockWorld.add(block.new dirt(50,0));
//              }
                colum+=50;
            }
        }
            public void paintComponent(Graphics g){
                super.paintComponent(g);
                for(int i=0;i<144;i++){
                    blockWorld.get(i).draw(g);
                }


        }

}

1 个答案:

答案 0 :(得分:0)

用户和我离线讨论了这个问题。我们发现了这个问题:在“Block”类中,变量“x”和“y”被声明为static。 因此,对任何Block的“x”和“y”变量进行的最后一次分配是设置所有Block对象的位置。