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

写了一段代码,想实现下雪积雪效果,但是用for循环控制g.fillRect画矩形时,落雪效果消失了?

写了一段代码,想实现下雪积雪效果,但是用for循环控制g.fillRect画矩形时,落雪效果消失了?

泛舟湖上清波郎朗 2022-05-20 12:15:58
package plane;import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.Panel;public class Star {public static void main (String[] args){Frame w = new Frame(); //创建一个面板w.setVisible(true); //显示面板,w.show();w.setSize(800,600); //设置面板大小w.setBackground(Color.BLACK); //设置背景颜色为黑色MyJPanel p = new MyJPanel(); //创建了一个画布w.add(p);Thread t = new Thread(p); //创建一个线程t.start(); //启动线程}}class MyJPanel extends Panel implements Runnable{int[] x = new int[100];int[] y = new int[100];public MyJPanel(){for (int i = 0; i < 100; i++) {x[i] = (int)(Math.random()*800);y[i] = (int)(Math.random()*600);}}public void paint(Graphics g){g.setColor(Color.YELLOW);g.fillOval(600,100,60,60);g.setColor(Color.BLACK);g.fillOval(580,100,60,60);g.setColor(Color.WHITE);for (int i = 0; i < 100; i++) {g.drawString("*",x[i],y[i]);}/*for (int j = 0; j < 300; j--) {for(int l=15;l>0;l--)for(int m=100000;m>0;m--)for(int n=81;n>0;n--);g.fillRect(0,600,800,10*j);}*/}public void run(){while(true){for (int i = 0; i < 100; i++) {if(y[i]+1<=600){y[i]++;}else{y[i]=0;}}repaint();try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}控制矩形的是注销的for循环代码
查看完整描述

2 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

arges你是main方法穿进来的参数 也就是一个String数组
如果你用jdk来执行这个类的class文件的时候你输入 比如你这个是test.class
你输入 java test 11 22 33
这个时候arges 数组的值就是11 22 33 也就是有三个值 这个时候 arges.length就等于3
现在知道arges.length!=3的意思了把
下边的 iPara1 = Integer.parseInt(arges[0]);
是给iPrar1 赋值 Integer.parseInt() 这个方法是把字符串转换成int

感觉这里写错了 应该写成 if(arges.length==3)
这个if else加起来的意思就是判断 arges是不是有三个值 如果是就把它们的值赋给int iPara1,iPara2,iEnd;
如果不是就打印输出一些信息
希望能解决您的问题。

查看完整回答
反对 回复 2022-05-23
?
桃花长相依

TA贡献1860条经验 获得超8个赞

你这里会有一个问题,就是你的x,y没有任何保护。当UI开始画东西的时候,需要用到x,y的数值。而这个时候,你的线程也会修改x,y的数值。只靠sleep来暂停工作线程不能保证你的数值在UI更新之后才更新的。

查看完整回答
反对 回复 2022-05-23
  • 2 回答
  • 0 关注
  • 230 浏览

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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