迭代通过对象在面板上绘制

时间:2014-04-22 23:05:39

标签: java jpanel paintcomponent repaint

我在这项任务上获得了一个快速启动。任何帮助表示赞赏。我有一个名为MapView的类,它实际上是在面板上绘制游戏的窗口。我目前已经在update方法下迭代了其他类/对象。什么是再次迭代对象来绘制游戏对象的最佳方法?我不知道该怎么做。我也在每个对象类下面绘制方法,但是试图弄清楚如何绘制它们并通过迭代器绘制它。

public class MapView extends JPanel implements IObserver, ActionListener{
    JPanel myPanel;
    private Timer timer = new Timer(5, this);
    int x = 0;
    int moveX = 2;
    public MapView(){
        super.setBorder(BorderFactory.createTitledBorder("Map:"));
        myPanel = new JPanel();
    }
    public void update(IObservable o, Object arg){
        GameWorldProxy gwp = (GameWorldProxy) o;
        Iterator gameObjects = gwp.getCollection().getIterator();
        while(gameObjects.hasNext()){
            GameObject gameObj = (GameObject) gameObjects.getNext();
            System.out.println(gameObj);
        }
    }

    public void paintComponent(Graphics g){
        super.paintComponent(g);
        timer.start();
    }
    public void actionPerformed(ActionEvent e){
        repaint();
    }
}

如何抓取当前对象并迭代它们以在面板上正确绘制它?

0 个答案:

没有答案