16.12

 1 import java.awt.*;
 2 import java.awt.event.ActionEvent;
 3 import java.awt.event.ActionListener;
 4
 5 import javax.swing.*;
 6
 7 public class Test_16_12 extends JFrame{
 8
 9     public Test_16_12(){
10         add(new JP());
11     }
12     public static void main(String[] args) {
13         // TODO Auto-generated method stub
14         Test_16_12 t1 = new Test_16_12();
15         t1.setTitle("Test_16.12");
16         t1.setLocationRelativeTo(null);
17         t1.setSize(300,300);
18         t1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
19         t1.setVisible(true);
20     }
21
22     static class JP extends JPanel{
23         private int h =0;
24         public JP(){
25         Timer timer = new Timer(10,new TimerListener());
26         timer.start();
27         }
28         public void paintComponent(Graphics g){
29             super.paintComponent(g);
30
31             int xCenter = getWidth()/2;
32             int yCenter = getHeight()/2;
33             int radius = (int)(Math.min(getWidth(), getHeight())*0.4);
34             int x = xCenter - radius;
35             int y = yCenter - radius;
36
37
38             g.fillArc(x, y, 2*radius, 2*radius, 0+h, 30);
39             g.fillArc(x, y, 2*radius, 2*radius, 90+h, 30);
40             g.fillArc(x, y, 2*radius, 2*radius, 180+h, 30);
41             g.fillArc(x, y, 2*radius, 2*radius, 270+h, 30);
42         }
43         class TimerListener implements ActionListener
44         {
45             @Override
46             public void actionPerformed(ActionEvent arg0) {
47                 // TODO Auto-generated method stub
48                 h += 3;
49                 repaint();
50             }
51         }
52     }
53 }

Test_16_12.java

需要注意的: Timer的创建应该放在JP的构造函数中

效果图:下图实际上是动态的

时间: 2024-10-23 21:11:28

16.12的相关文章

12.16~12.23工作日志

12.16~12.23工作日志 2016.12.16 1.cick事件调用的函数中加入touchmove等事件会发生事件穿透,详情(http://www.tuicool.com/articles/6NfaUnM) 移动设备的click事件有300ms延迟,用于判断是否双击 2.ios设备会有一个默认的css样式,如input按钮在电脑上默认为方形,而在iPhone上默认为圆形,清除ipone默认样式方法: Input{-webkit-appearance:none;} 3.border-radi

java 16 -12 静态导入

静态导入: 格式:import static 包名….类名.方法名; 可以直接导入到方法的级别 静态导入的注意事项: A:方法必须是静态的 B:如果有多个同名的静态方法,容易不知道使用谁?这个时候要使用,必须加前缀. 由此可见,意义不大,所以一般不用,但是要能看懂. 1 import static java.lang.Math.abs; 2 import static java.lang.Math.pow; 3 import static java.lang.Math.max; 4 5 //错误

随笔=day=16.12.1

1.Map集合接口中的常用方法? put(K key,V value);向集合中添加指定的key和value的映射关系. demo: x.put("1","长江"); x.put("2","长城");    //向x中添加了两个元素. 2,cmd界面查看ip? 在cmd界面运行:ipconfig       //查看基本信息 ipconfig /all   //这个可以查看到更多信息. 3,集合:collection. 4,迭

随笔=day=16.12.1.1

1,动态web项目? Dynamic  web   project. 网络? web. 上一个? back. 下一个? next. 完成? finish. 取消? cancel. 2,图片,图像? img---->image ---->gtp格式 图片? picture---->png 格式 高度? height. 宽度? width. 没有一个(有点类似于空)? none 左边? left.

传智播客_Springmvc+Mybatis由浅入深全套视频教程(燕青)-mybatis笔记(两天)(2017年8月5日16:12:20)

专业实习消耗了半个月,学习进度一度停滞.mybatis基本的使用不难,和hibernate相比各有优势吧,不是一个风格的框架. 整理了一些笔记. 笔记链接如下: 链接:http://pan.baidu.com/s/1caXGKm 密码:dj3d

2015/12/26 十六、 八 、二 进制转十进制

十六进制41BD 转换十进制4*16^3+1*16^2+11*16^1+13*16^0=16384+256+176+13=16829 十六进制A10C.8 转换十进制10*16^3+1*16^2+0*16^1+12*16^0+8*16^-1=40960+0+16+12+0.5=41228.5 八进制146.1 转换成十进制1*8^2+4*8^1+6*8^0+1*8^-1=64+32+6+0.125=102.125 八进制5312.2 转换成十进制5*8^3+3*8^2+1*8^1+2*8^0+2

黑马程序员_JavaSE学习总结第16天_集合框架2

------- android培训.java培训.期待与您交流! ----------  16.01 ArrayList存储字符串并遍历 ArrayList类概述:底层数据结构是数组,查询快,增删慢,线程不安全,效率高 ArrayList类是List 接口的大小可变数组的实现.实现了所有可选列表操作,并允许包括 null在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小. 例: 1 public class Practice 2 { 3 public

chapter 16

Chapter 16 # string class Constructors (Page 952) string(const char *s) string(size_type n, char c) string(const string &str) string() string(const char *s,size_type n) template<class Iter> string(Iter begin, Iter end) string(const string &s

安卓权威编程 挑战练习 16章

16.7 挑战练习:优化照片显示 现在虽然能够看到拍摄的照片,但没法看到它们的细节. 请创建能显示缩放版本照片的 DialogFragment .只要点击缩略图,就会弹出这个 DialogFragment ,让用户查看缩放版本的陋习现场图片. 创建一个根节点为ImageView的布局文件,代码如下: <?xml version="1.0" encoding="utf-8"?> <ImageView xmlns:android="http: