原标题:Java兴趣编程-转动的大风车

package com.xfonline.test2;

import javax.swing.*;

import java.awt.*;

import java.awt.geom.*;

import java.awt.event.*;

class MyCanvas extends JPanel implements ActionListener{

javax.swing.Timer timer;

Arc2D arc1,arc2,arc3,arc4,arc5;

Line2D line;

Ellipse2D ellipse;

AffineTransform trans;

BasicStroke bs;

MyCanvas() {

arc1=new Arc2D.Double(60,60,100,100,0,20,Arc2D.PIE);

arc2=new Arc2D.Double(60,60,100,100,72,20,Arc2D.PIE);

arc3=new Arc2D.Double(60,60,100,100,144,20,Arc2D.PIE);

arc4=new Arc2D.Double(60,60,100,100,216,20,Arc2D.PIE);

arc5=new Arc2D.Double(60,60,100,100,288,20,Arc2D.PIE);

line=new Line2D.Double(110,110,110,190);

ellipse=new Ellipse2D.Double(100,100,20,20);

bs=new BasicStroke(8f,BasicStroke.CAP_SQUARE,BasicStroke.JOIN_ROUND);

trans=new AffineTransform();

timer = new javax.swing.Timer(10,this);

timer.start();

}

public void actionPerformed(ActionEvent e) {

repaint();

}

public void paint(Graphics g) {

g.clearRect(0,0,this.getBounds().width,this.getBounds().height);

Graphics2D g_2d=(Graphics2D)g;

g_2d.setStroke(bs);

g_2d.setColor(Color.blue);

g_2d.draw(line);

g_2d.setColor(Color.black);

g_2d.fill(ellipse);

trans.rotate(2.0*Math.PI/180,110,110);

g_2d.setTransform(trans);

g_2d.fill(arc1);

g_2d.fill(arc2);

g_2d.fill(arc3);

g_2d.fill(arc4);

g_2d.fill(arc5);

}

}

阅读

责任编辑:

java 风车_Java兴趣编程-转动的大风车相关推荐

  1. java 并行_Java 并行编程!

    多核处理器现在已广泛应用于服务器.台式机和便携机硬件.它们还扩展到到更小的设备,如智能电话和平板电脑.由于进程的线程可以在多个内核上并行执行,因此多核处理器为并发编程打开了一扇扇新的大门.为实现应用程 ...

  2. 判断三角形java代码_java基础编程题之异常处理

    以下是刚开始学习java的基础编程题,每天持续更新java每个知识点的题目,持续练习,不断提高java基本功,培养编程能力.今天的练习的十八题是java的异常处理的使用. 1.检测年龄不能为负数和大于 ...

  3. java赋值语句_java并发编程之原子性问题

    程序是否线程安全,取决于哪些要素呢,主要是以下三个: 原子性, 可见性, 有序性. 今天先一起来学习原子性. 原子性: 我理解一个操作不可再分,即为原子性.而在并发编程的环境中,原子性的含义就是只要该 ...

  4. java 并_java并发编程(一)

    java并发编程(一) 引言 多线程的知识点是一个庞大的体现,对此也是一知半解.一直想系统的深入的学习多线程的知识,奈何一直没有找到机会,好吧,其实就是懒.最近在项目中接触到一个多并发的项目,在项目中 ...

  5. java 并发_Java并发编程中断机制 so easy

    | 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it ...

  6. predicate java 作用_Java函数式编程接口详解之Predicate

    一.初识 Predicate是Java提供的重要的函数编程接口之一,作用主要是用于逻辑判断. 首先看看源码: @FunctionalInterface public interface Predica ...

  7. java 可见性_Java并发编程-volatile可见性详解

    前言 要学习好Java的多线程,就一定得对volatile关键字的作用机制了熟于胸.最近博主看了大量关于volatile的相关博客,对其有了一点初步的理解和认识,下面通过自己的话叙述整理一遍. 有什么 ...

  8. java全双工_java网络编程TCP聊天全双工

    我正在实现服务器和客户端之间的简单TCP聊天.我使用多线程,因此服务器和客户端可以同时发送和接收数据(全双工).该程序可以工作,但如果服务器有一个控制台既可以输入发送消息,也可以显示接收消息(对于客户 ...

  9. java下雪_java多线程编程实现下雪效果

    没有直接采用继承Thread类或者继承Runnable的接口来实现多线程,而是使用了匿名内部类. 要导入的类: import javax.swing.*; import java.awt.*; 1.定 ...

最新文章

  1. 让ubuntu下的eclipse支持GBK编码
  2. TestNG+Maven+IDEA环境搭建
  3. 我和学姐聊了下他在阿里这9年的成长,受益颇多!
  4. c语言结构体 单科成绩排序,【查错】怎样让结构体其他信息(姓名)对应关键值(成绩)排序输出...
  5. 机器数,原码,反码,补码,移码
  6. 30. 包含min函数的栈
  7. 华为P20云文档空间满了怎么清理_原来华为手机能这样清理垃圾,怪不得别人的手机再用两年不卡顿...
  8. AMT咨询成为中国首获风投的管理咨询服务机构
  9. javax maven项目缺少_maven冲突解决流程
  10. 关于DButil的使用几点思考
  11. S-MJLs和网络动态系统的分析与综合
  12. 定期删除IIS日志文件
  13. java发布geoserver样式(sld样式)
  14. Java学完了仍不会写项目
  15. 数据库版本管理(flyway)
  16. 多条件统计利器COUNTIFS函数的使用方法
  17. 牛客小白月赛28 C-单词记忆方法——dfs
  18. 文件下载加水印工具类(pdf、word、excel、图片)
  19. 西瓜书课后题——第七章(贝叶斯分类器)
  20. 批量复制到花瓣网上图片素材的原图

热门文章

  1. 【Elasticsearch】中文分词器比对表
  2. 【java】 Java 类加载器 破坏双亲委派
  3. 【Flink】Flink1.12.0 FlinkSQL消费Kafka 使用 temporal join 关联维表Hive 最新分区数据 join 不上
  4. 【clickhouse】clickhouse 表引擎之 Merge
  5. 95-150-045-源码-Sink-Streaming Parquet File
  6. 开源SPL,ORM的终结者?
  7. 你写的代码扩展性高吗?快试试用Spring注入方式来解耦代码!
  8. 这款Java性能调优工具,真的很强!
  9. 结构型设计模式在公司项目中的运用实践
  10. springboot整合Mybatis例子