- 浏览: 2013332 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (795)
- java (263)
- 聚类搜索引擎 (9)
- 经验之谈 (67)
- DSP (3)
- C++ (140)
- Linux (37)
- SNMP (6)
- Python (6)
- 数据库 (61)
- 网络 (20)
- 算法 (15)
- 设计模式 (4)
- 笔试题 (38)
- 散文 (35)
- 数据结构 (9)
- 银行知识 (0)
- 榜样 (9)
- Lucene (15)
- Heritrix (6)
- MetaSeeker (0)
- netbeans (12)
- php (3)
- 英语 (8)
- DB2 (0)
- java基础 (5)
- mongodb & hadoop (4)
- Javascript (7)
- Spring (4)
- ibatis & myibatis (1)
- velocity (1)
- 微服务 (0)
- paddle (1)
- 第三方 (0)
- 知识沉淀 (1)
- 建模 (0)
最新评论
-
0372:
标示对java很陌生!
中文乱码解决的4种方式 -
梦留心痕:
Java中\是转意字符, 可是你的这句话我没看懂,只要把得到的 ...
java中如何忽略字符串中的转义字符--转载 -
yanjianpengit:
[b][/b]
java为什么非静态内部类里面不能有静态成员 -
springdata-jpa:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
eclipse 如何把java项目转成web项目 -
qq1130127172:
,非常好。
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
import java.awt.BorderLayout; import java.awt.Panel; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; //import com.myemap.ui.Face; public class BallFrame{ JButton jbStart; JButton jbStop; JFrame jf; BallPanel bp; public BallFrame(){ jf = new JFrame("Ball Game"); jf.setLayout(new BorderLayout()); bp = new BallPanel(); Panel buttonPanel = new Panel(); jbStart = new JButton("开始"); jbStop = new JButton("停止"); buttonPanel.add(jbStart); buttonPanel.add(jbStop); jf.add(buttonPanel,BorderLayout.SOUTH); jf.add(bp,BorderLayout.CENTER); this.actionHandler(); this.showMi(); } private void showMi(){ jf.setSize(400,300); //jf.pack(); Toolkit tool = Toolkit.getDefaultToolkit(); double x =tool.getScreenSize().getWidth(); double y =tool.getScreenSize().getHeight(); jf.setLocation((int)(x-jf.getWidth())/2,(int)(y-jf.getHeight())/2); jf.setVisible(true); jf.setResizable(false); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void actionHandler(){ jbStart.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { System.out.println("start pressed"); /*1.创建小球 2.创建小球线程 3.加入小球*/ Ball ball = new Ball(); new BallThread(ball,bp.getBounds()).start(); bp.addBall(ball); } }); jbStop.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { System.out.println("stop pressed"); System.exit(0); } }); } public static void main(String[] args) { //Face.setFace(); new BallFrame(); } }
import java.awt.Color; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.util.Random; public class Ball { private double x,y; //初始点坐标 public static final int X_SIZE=20; //矩形宽度 public static final int Y_SIZE=20; //矩形长度 private int xMoveDis=10; //x移动距离 步长 private int yMoveDis=10; //y移动距离 步长 private Ellipse2D shape; private Color color; private static Random random; static { random = new Random(); } public Ball(){ color = new Color(random.nextInt(256),random.nextInt(256),random.nextInt(256)); xMoveDis = 5+random.nextInt(5)-2; yMoveDis = 5+random.nextInt(5)-2; } public Shape getShape() { //返回小球形状的方法 if(shape == null){ shape= new Ellipse2D.Double(x, y , X_SIZE,Y_SIZE); }else{ shape.setFrame(x, y , X_SIZE,Y_SIZE); } return shape; } public void move(Rectangle rect){ x+=xMoveDis; y+=yMoveDis; //判断边界 if(x < rect.getMinX()){ x = rect.getMinX(); xMoveDis = -xMoveDis; }else if((x+X_SIZE)>rect.getMaxX()){ x = rect.getMaxX()-X_SIZE; xMoveDis = -xMoveDis; } if(y < rect.getMinY()){ y = rect.getMinY(); yMoveDis = -yMoveDis; }else if((y+Y_SIZE)>rect.getMaxY()){ y = rect.getMaxY()-Y_SIZE; yMoveDis = -yMoveDis; } } public Color getColor() { return color; } public void setColor(Color color) { this.color = color; } }
import java.awt.Graphics; import java.awt.Graphics2D; import java.util.ArrayList; import java.util.List; import javax.swing.JPanel; public class BallPanel extends JPanel{ //负责画小球 private List<Ball> balls; public BallPanel(){ balls = new ArrayList<Ball>(); startPanitThread(); } public void addBall(Ball ball){ balls.add(ball); } //每隔50ms重绘一次 private void startPanitThread(){ new Thread(){ @Override public void run() { while(true) { repaint(); //重画 try { Thread.sleep(50); //50ms重绘一次 } catch (InterruptedException e) { e.printStackTrace(); } } } }.start(); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 =(Graphics2D)g; for(Ball ball: balls){ g2.setColor(ball.getColor()); g2.fill(ball.getShape()); //绘画小球 } } }
import java.awt.Rectangle; import java.util.List; public class BallThread extends Thread{ //只负责移动 private Ball ball; private Rectangle rect; public BallThread(Ball ball,Rectangle rect){ this.ball = ball; this.rect=rect; } @Override public void run(){ int count = 0; while(count<10000) { ball.move(rect); try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } count++; } } }
(1)框架类 界面、开始按钮(创建小球、开启线程)、暂停按钮的监听(退出系统)
(2)面板类 保存小球的列表、每隔50ms绘画小球、绘画小球
(3)小球类 小球自身的设定,小球的移动。
(4)线程类 调用小球的移动。
所谓的线程,就是为了并发执行。线程是客户端调用。
发表评论
-
流式计算
2022-02-07 14:31 226private void postHandle(List& ... -
消息队列使用的四种场景介绍
2018-08-09 16:34 2397以下介绍消息队列在实际应用中常用的使用场 ... -
设计模式
2018-04-11 16:49 9281.桥梁模式,将抽象部分与实现部分隔离开,抽象部分持有实现 ... -
Spring boot web可以访问Service和Mapper层
2018-03-26 16:42 2789Spring boot的web层可以访问Service层,然 ... -
FreeMarker的基础语法使用 && 心得和技巧
2018-01-10 10:03 1917FreeMarker是一个模板引 ... -
webService----wss4j+cxf实现WS-Security(基于UsernameToken)
2017-10-23 18:58 1497分享一下wss4j+cxf基于UsernameToken的安 ... -
Spring MVC之LocaleResolver(解析用户区域)
2017-09-23 15:55 2434为了让web应用程序支持国际化,必须识别每个用户的首选区域, ... -
(转)java泛型
2016-11-12 20:29 1586http://www.cnblogs.com/lwbqqyu ... -
java中如何忽略字符串中的转义字符--转载
2016-06-28 16:42 9790原文地址:http://my ... -
(转)关于JAP FetchType.LAZY(hibernate实现)的理解 .
2016-04-27 15:22 5032JPA定义实体之间的关系有如下几种: @OneToOne ... -
(转)hibernate annotation注解方式来处理映射关系
2016-04-26 16:52 1785http://www.cnblogs.com/xiao ... -
代码片段,导出的文件头
2015-11-18 20:34 1552public static void setDownload ... -
(转)为什么要两次调用encodeURI来解决乱码问题
2015-08-03 20:19 2419地址:http://blog.csdn.net/howla ... -
杀死进程
2015-07-21 14:54 1228sudo lsof -i :9000 COMMAND P ... -
批处理batch,执行多个SQL语句
2015-07-15 19:21 10533批处理batch,执行多个SQL语句。 ... -
中文乱码解决的4种方式
2015-07-03 14:20 2572目前收集到4中方法,中文传参一documentPath为例: ... -
GET请求的中文乱码问题及处理意义
2015-07-03 13:47 6588首先看一段乱码的程序 ... -
java.ByteArrayInputStream与ByteArrayOutputStream再次理解
2015-03-16 17:59 3188第一次看到ByteArrayOutputStream的时 ... -
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
2014-07-28 17:42 2207概述 继 Spring 2.0 对 Spring MVC ... -
java中序列化的serialVersionUID解释
2014-07-25 09:26 1836serialVersionUID: 字面意思上是序列化的版本号 ...
相关推荐
crystal-ball-模拟基础教程, 有案例。适合新手看。 在读完本资源后,你应该能够: ...6. 利用Crystal Ball程序辨识出符合历史数据的连续分配。 7. 利用Crystal Ball的特色来产生一些帮助决策的决策表和趋势图。
用Rust编写的Magic 8 Ball程序 :pool_8_ball: 嘿,GitHub! 这是我与Rust的第一个项目 :crab: ! 到目前为止,我一直爱着这种语言,迫不及待地想继续前进,经历这一惊人的旅程! 如果您对我有任何反馈或建议,我很...
这是Magic8Ball程序的开始,尽管尚无法使用。 通过以下方式进行更改: 通过将字符串存储在问题变量中来向Magic8Ball询问问题 您的8个球至少要添加五个答案,才能提供给String []答案。 请记住将每个格式设置为字符...
球杆系统(Ball&beam)设备是学习和研究控制理论的重要平台之一,许多学者在控制理论中的研究都通过球杆系统进行验证,这是因为自身具有一些很重要的性质,例如非线性特性、开环不稳定性等,这类复杂控制对象难以用...
魔法 :pool_8_ball: 球 这是“学一些Erlang”中Magic 8 Ball应用程序的直接端口。 如果要使用此功能,请确保替换config/x.config文件夹中的所有主机名: [{kernel,[{distributed, [{m8_ball, 5000, [a@hostname, {b@...
可以用来参考RRN8302B校表设计,基于51系列单片机,可参考使用
8 Ball是一款Ionic Android / IOS算命应用程序,可根据用户的意愿显示财富。 屏幕截图 发展 此应用程序是使用Ionic v1 CLI构建的。 一旦了 ,请从克隆存储库开始: 这会在您的系统(包括CLI)上安装Ionic $ sudo ...
AguirreAssignment11 BBall应用程序上的升级
一个类似吃豆子的游戏,自己写的,比较简单,适合初学者,包含代码和游戏成品,游戏成品请窗口化打开!...因为我没有做退出程序的按钮,请务必注意这一点,不然的话估计就只能开任务管理器杀掉了。
水晶球 :crystal_ball: 一个神奇的Web屏幕截图项目水晶球 :crystal_ball: 是一个使用URL数组或文件并返回包含屏幕截图(使用 ),应用程序标头和src / href引用的报告的库。 有关下载和安装Node.js的信息,请参见 。...
magic_8_ball 魔术球 入门 该项目是Flutter应用程序的起点。 如果这是您的第一个Flutter项目,那么有一些资源可以帮助您入门: 要获得Flutter入门方面的帮助,请查看我们的,其中提供了教程,示例,有关移动开发的...
程序通过创建Ball、Paddle和Block类来实现游戏的运行逻辑,其中包括球的移动、球与 paddle 的碰撞检测、方块的下落和与 paddle 的碰撞检测等。程序使用了一些多线程技术,如 Ball 类继承自 Thread 类并实现 run 方法...
碰撞的小球,JAVA程序,共有两个类,涉及到画图类,算法比较简单
这是一个使用C++的ege图形库制作的Ballon Ball 动画。 **********************使用说明书********************** 1、泡泡会跟着你的鼠标指针跑 2、按下空格键可以暂停 3、按下SC退出程序 ******************...
球童Ball Buddy是为我的高级设计班开发的宠物球发射器。 这是一个智能的控球系统,能够自动投掷球。 它具有通过带摄像头和安全传感器的电话应用程序进行远程控制的功能,从而避免了事故的发生。
从最初的动力开始,实验程序已经扩展以提供马达性能数据库,该数据库可用于验证和/或改进许多马达状态评估技术。最近或当前正在使用这个数据库的一些项目包括:Winsnode状态评估技术、基于模型的诊断技术和电机速度...
这是有关使用开发移动应用程序的课程的入门模板。 如何使用此模板 该模板不能单独使用。 它缺少Ionic库和AngularJS。 要使用此功能,请使用ionic node.js实用工具创建一个新的ionic项目,或者将其复制并粘贴到现有...
魔术8球 :pool_8_ball: 我们的目标 这项挑战的目的是巩固您在Dicee教程中学到的知识。 该应用程序将指导您完成构建8球应用程序所需的步骤,并将应用您所学到的无状态和有状态Flutter小部件。 您将创造什么 我们将...
电子设计竞赛设计资料 设计程序 源代码 参赛备赛参考 电子设计竞赛设计资料 设计程序 源代码 参赛备赛参考 电子设计竞赛设计资料 设计程序 源代码 参赛备赛参考 电子设计竞赛设计资料 设计程序 源代码 参赛备赛参考 ...