这个几十行的JAVA作业小程序有一个BUG,求大神解答下。。

这个几十行的JAVA作业小程序有一个BUG,求大神解答下。。,第1张

首先,感谢提问,其次也请尊重别人的时间和劳动成果。如果解决了你的问题,请不吝给分。谢谢。

在你的makepic2()中加入jp1.validate()就可以了弯简。如下所示:

private void makepic2(){

    jp1.removeAll()

    jp1.repaint()

    double t =Math.floor(Math.random()*9 + 1)

    int k= (int) t

    coranswer= String.valueOf(k) 

    for(int i = 0i<ki++)

    { int j = i + 1

        animal[i]=new JLabel(new ImageIcon(getClass().getResource("animal"+j+".png")))

        jp1.add(animal[i])

  戚举  }

    jp1.validate()

}

不能load的原因就是JPanel是不断的再变化的,而JPanel从Container继承的方法validate可以解决这个问题

validate

public void validate()

验证此容器及其所有子组件。

使用 validate 方法会使容器再次布置其子组件。已经显示容器后,在修改此容器的子组件的时候(埋仔裤在容器中添加或移除组件,或者更改与布局相关的信息),应该调用上述方法。

如果此 Container 无效,则此方法将调用 validateTree 方法,并将此 Container 标记为有效。否则不执行任何动作。

覆盖:

类 Component 中的 validate

一次声明多前灶配个变量,变量名称之间需要用逗号隔开辩戚,所以把17行改为

Vehicle Vehicle1, Vehicle2

建议慧指变量名首字母用小写,方便阅读~

还有,发现Vehicle2.m_nCuerStep=0错咯,应该是Vehicle2.m_nCurStep=0

嘿嘿~

at playPane.paintComponent(playPane.java:143)

空指针了,肢宽敬debug调试一下,就能找到问题了,你的程序历慎没有粘出来,只能给个建议,你巧型自己试一下


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12536455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存