java repaint()无效

查看:231
本文介绍了java repaint()无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

初学java,绘图这里很搞不懂

package picture;

import javax.swing.*;
import java.awt.*;

/**
 * Created by Smith on 2016/10/19.
 */
public class Study extends JPanel{
    public int x = 1;
    public int y = 1;

    public static void main(String [] args)
    {
        new Study().init();
    }

    public void init()
    {
        JFrame jf = new JFrame("图片");
        JPanel jp = new JPanel();
        jf.add(jp);
        jf.setSize(600,600);
        jf.setVisible(true);
        Graphics g = jp.getGraphics();
        for(int i = 1;i<=500;i++)
        {
            paint(g);
            x++;
            y++;
        }
        System.out.println(g);

    }

    public void paint(Graphics g)
    {
        g.setColor(Color.blue);
        g.drawString("hello",x,y);
        repaint();
    }



}


生成的效果图就是如上,我实际是想要hello进行移动,但repaint()放在这里为什么没有效果

解决方案

1.每次渲染前要清除之前的画布,否则会叠加起来

2.要想显示动画,需要设置休眠时间,否则也看不到中间过程

这篇关于java repaint()无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆