为了账号安全,请及时绑定邮箱和手机立即绑定

java repaint()无效

java repaint()无效

POPMUISE 2019-03-13 18:15:26
初学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()放在这里为什么没有效果
查看完整描述

2 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

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

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

查看完整回答
反对 回复 2019-04-25
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

估计是因为你没有在 x=2y=2 时清除之前 x=1y=1 时写的 "hello", 所以他们都重叠在一起成了一条粗粗的蓝线 : )


查看完整回答
反对 回复 2019-04-25
  • 2 回答
  • 0 关注
  • 1204 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号