java swing实时使用revalidate和repaint

时间:2013-12-07 07:43:00

标签: java swing

我很抱歉我的英语技能

我想显示使用revalidate移动并在roop中重新绘制的实时视图

我该怎么办?

帮帮我~~

void G_PRINT_MAP()
{

    System.out.println("[G_PRINT_MAP] x is "+x+"  y is"+y);

    this.MAP_PANEL = new JPanel( new GridLayout(this.MAP.length, this.MAP.length) ); //패널설정

    for(int i=0; i<this.MAP.length; i++)
    {
        for(int j=0; j<this.MAP.length; j++)
        {
            if((i==x && j==y) && MAP[i][j] == 3)
            {
                //함정밟았을
                System.exit(0);//프로그램종료 
            }
            else if(i==x && j==y)
            {
                this.MAP_PANEL.add(new JLabel(new ImageIcon("./image/me.png")));
                System.out.println("x is "+x+" y is "+y);
            }
            else if(i==(MAP.length-1) && j==(MAP.length-1))
            {
                this.MAP_PANEL.add(new JLabel(new ImageIcon("./image/bread.png")));
            }
        }
    }

    MIRO_FRAME.add(this.MAP_PANEL);

    //실시간으로 보이기위해서 사용 
    this.MAP_PANEL.revalidate();
    this.MAP_PANEL.repaint();
}


public int G_AUTO_GAME(int x, int y)
{
    int RAND_CHECK[]={0,0,0,0};
    int RESULT = -1;
    int SAVE_VALUE=-1;

    for(int i=0; i<10; i++)
    {
        for(int j=0; j>10; j++)
        {

            this.x=x;
            this.y=y;
            G_PRINT_MAP();
        }
    }
}

1 个答案:

答案 0 :(得分:1)

而不是替换组件,而不是展示here,而是考虑更新组件的内容,如图here所示。< / p>