当前位置: 首页 > news >正文

做网站与不做网站的区别/建站推广

做网站与不做网站的区别,建站推广,滴滴优惠券网站怎么做的,为什么浏览器打不开一些网站为什么80%的码农都做不了架构师?>>> 看到这个题目,希望大家不要慌忙,从字面上很容易就能看出,我们要用到JFrame框架,然后需要在Frame里面添加雪花,最后让雪花移动起来。 下面我们来具体分析一下…

为什么80%的码农都做不了架构师?>>>   hot3.png

看到这个题目,希望大家不要慌忙,从字面上很容易就能看出,我们要用到JFrame框架,然后需要在Frame里面添加雪花,最后让雪花移动起来。
下面我们来具体分析一下:
    首先,我们需要有一个JFrame类,用来加载面板以及运行主方法;
    第二,我们需要有一个JPanel类,将雪花加载上去。
    第三,需要实现雪花的移动。

如何实现这三个功能呢?带着问题,我们来看下面的代码:

MyStarFrame类:

import javax.swing.JFrame;
/*** 首先我们来创建JFrame类,这个类我们把它称作MyStarFrame,* 包含一个主方法跟两个成员方法。* @author ChrisYuan**/
public class MyStarFrame extends JFrame{/** 定义一个成员变量panel,这里我们使用私有属性,* 为了避免其他类不小心调用它,防止程序出错。* 很多时候,如果我们不知道属性该定义为什么,最好定义为私有。*/private SnowPanel panel;/** addPanel方法,将另一个类也就是我们提到的panel类加载进来。*/public void addPanel(){panel=new SnowPanel();this.add(panel);//使用this加到frame框架里,在这里this代表的是当前的frame对象panel.startDown();//调用panel的startDown方法,实现雪从天而降}/** showMe方法,其实就是将框架显示出来的方法,里面我们定义了几个常用的方.*/public void showMe(){this.setSize(800,600);//设置框架大小this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置框架在点击右上角关闭按钮的时候会从系统中关闭完全关闭退出this.setTitle("下雪场景实现");//设置框架标题this.setVisible(true);//设置框架可见性为真,让框架显示出来。}/*** 主方法新建了一个frame对象,然后调用了它的addPanel根showMe方法* @param args*/public static void main(String[] args) {MyStarFrame frame = new MyStarFrame();frame.addPanel();frame.showMe();}
}
SnowPanel类:

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;import javax.swing.JPanel;
/*** SnowPanel类继承于面板类,里面添加的是下雪动作的具体实现。* @author ChrisYuan*/
public class SnowPanel extends JPanel{//定义了两个整型数组,数组里分别存放雪花在面板里的x、y轴的值private int[] xx;private int[] yy;//定义一个字体数组,目的是为了后面定义雪花的时候,让雪花有大小的变化private Font[] fs;/** 下面是panel类构造器,在frame类里面new panel对象的时候,* 构造方法里面的属性与方法都会执行或加载。*/public SnowPanel(){xx=new int[300];yy=new int[300];//循环300次,产生300组随机数,保存在xx和yy数组中for (int i = 0; i < xx.length; i++) {xx[i]=(int)(Math.random()*800);yy[i]=(int)(Math.random()*600);}	fs=new Font[10];//循环10次,产生一种不同大小的字体,保存在fs中for(int i=0;i<fs.length;i++){fs[i]=new Font("宋体",Font.BOLD,12+i);}}/** paint方法是JPanel里面的一个方法,可以实现在面板里画东西,* 这里重写了paint方法。*/public void paint(Graphics g){//g相当于一个画笔,可以画许多东西出来super.paint(g);//继承父类的paint方法,也就是继承了paint画的行为this.setBackground(Color.BLACK);//这里this代表的是panel//意为将panel的背景颜色设置为黑色,Color是java里的颜色类g.setColor(Color.WHITE);//将画笔的颜色改为白色/** 循环300次,在面板里画出300颗星星*/for(int i=0;i<xx.length;i++){g.setFont(fs[i%10]);//每十颗星星设置一种不同大小的雪花g.drawString("*", xx[i], yy[i]);//画星星}}/** 创建一个startDown方法,这个方法里面用匿名内部类的方式新建一个线程,* 线程里面实现了,雪花移位并且重画面板的方法。* 这里稍微提一下线程的问题,程序执行的时候,默认是从main方法开始执行,main方法执行后,* 就会变成整个程序的主线程,在这里我们又重新定义了一个新的线程在startDown里,这个线程* 会在main方法调用addPanel的时候加载到内存,主线程不会一直running,系统* 会非配给主线程与startDown里的线程交替运行的时间,这样从宏观来看,两个线程是并发的,也就是* 我们认为的同时在执行。*/public void startDown(){//创建一个新的线程对象,并让他去执行。new Thread(){//线程执行是将每个点都下移一个位置public void run(){//线程,一定要实现他的run方法//while死循环里面执行的语句,就是下雪场景不断在更替的动作:坐标位移,重画,睡while(true){for(int i=0;i<yy.length;i++){yy[i]++;//判断一下雪花是否超出下边界,如果超出边界,y轴从零开始重新执行下雪if(yy[i]>=600){yy[i]=0;}}//重画面板动作,意味将位移的雪花重新显现出来repaint();//异常处理里面的语句是让线程停滞10毫秒,保证雪花下降的速度没有那么快try {Thread.sleep(10);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//while end!}// run end!}.start();//线程要运行,一定要用start方法来开启线程		}
}

注:初学Java,代码难免粗糙,欢迎大家指正~

转载于:https://my.oschina.net/javacy/blog/91549

http://www.lbrq.cn/news/774109.html

相关文章:

  • 有做门窗找活的网站吗/关键词优化的作用
  • 网页游戏排行大全/seo推广一个月见效
  • 网站建设的话术/东莞好的网站国外站建设价格
  • 叙述网站的设计制作流程/十大搜索引擎地址
  • 如何进行网站分析/google广告投放技巧
  • 企业解决方案业务是什么/西安网站seo费用
  • 做网站的中标公司/百度提交入口网址是什么
  • 大气宽屏网站模板企业源码带后台/最近刚发生的新闻
  • 做电子商务网站需要什么软件/seo排名赚app官网
  • 定制建设网站/seo营销服务
  • 月子会所网站建设方案/百度下载并安装到桌面
  • 公众号排版设计/重庆网站seo服务
  • 如何做自己的业务网站/网站测试
  • 私有云可以做网站/域名查询注册信息查询
  • 百度商桥在网站/云速seo百度点击
  • 自己做视频网站能赚钱/seo快速排名系统
  • wordpress找不到分类页面/企业seo关键词优化
  • 网站建设图片怎么做/seo日常工作内容
  • 可以做没有水印的视频网站/互联网宣传方式有哪些
  • 行业网站策划方案/成都百度推广排名优化
  • 网站源码爬取工具/百度竞价账户
  • 网站背景音乐怎么做/国外seo网站
  • 做网站如何突出网站特色/上海谷歌推广
  • 网站 做百度推广有没有效果/杭州排名优化软件
  • 怎样弄免费网站/seo研究中心骗局
  • 南京有制作网站的吗/百度一下你就知道手机版
  • 网站技术解决方案/销售策略和营销策略
  • 做外贸自己做网站么/北京aso优化
  • 深圳市公司网站建设服务机构/校园推广方案
  • 欧阳网站建设/泉州关键词排名
  • 浅谈TLS 混合密钥交换:后量子迁移过渡方案
  • 图论理论部分
  • 基于CNN与Transformer的无人机应急救援网络异常流量检测
  • GitHub分支保护介绍(Branch Protection)(git分支保护)(通过设置规则和权限来限制对特定分支的操作的功能)
  • Linux服务:Apache 虚拟主机配置指南:多站点部署三种方式详解
  • Linux随记(二十二)