JAVA:模拟心电图
来源:互联网 发布:android gps数据采集 编辑:程序博客网 时间:2024/04/24 22:36
原文地址:JAVA:模拟心电图
package koko;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.util.List;
import java.util.LinkedList;
/**
*
Title: JAVA
*
*
Description: Pengcheng
*
*
Copyright: Copyright (c) 2007
*
*
Company:
*
* @author shmily
* @version 1.0
*/
public class Heart extends JFrame {
protected static final int WIDTH = 800;
protected static final int HEIGHT = 500;
public Heart(String title) {
super(title);
this.setSize(WIDTH, HEIGHT);
this.setLocation((dimension.width - WIDTH) / 2,
(dimension.height - HEIGHT) / 2);
this.add(panel);
}
private java.awt.Dimension dimension = java.awt.Toolkit.getDefaultToolkit(). getScreenSize();Mypanel panel = new Mypanel();//Timer事件public javax.swing.Timer timer = new javax.swing.Timer(20, new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { panel.repaint(); //重画面板 }});public static void main(String[] args) { Heart hart = new Heart("模拟心电图"); hart.setVisible(true); hart.timer.start(); hart.setDefaultCloseOperation(hart.EXIT_ON_CLOSE);}
}
//绘制画图面版
class Mypanel extends javax.swing.JPanel {
public Mypanel() {}
private List<Integer> list1 = new LinkedList<Integer>();private List<Integer> list2 = new LinkedList<Integer>();private final int XPOINT = 100;private final int YPOINT = 400;private final int TEP = 5; //像素的位移量private int num = 0;private final int YY = 200; //产生随机数的范围public void paintComponent(Graphics g) { g.clearRect(0, 0, Heart.WIDTH, Heart.HEIGHT); super.paintComponent(g); g.setColor(Color.BLUE); //画X轴 g.drawLine(this.XPOINT, Heart.HEIGHT - this.XPOINT, this.XPOINT, this.XPOINT); //画Y轴 g.drawLine(this.XPOINT, Heart.HEIGHT - this.XPOINT, Heart.WIDTH - this.XPOINT, Heart.HEIGHT - this.XPOINT); //标题 g.drawString("模拟心电图", (Heart.WIDTH - 2 * (this.XPOINT)) / 2 + 50, this.XPOINT - 50); //画X轴和Y轴的箭头 int[] X = {this.XPOINT - 6, this.XPOINT, this.XPOINT + 6}; int[] Y = {this.XPOINT + 8, this.XPOINT, this.XPOINT + 8}; g.drawPolyline(X, Y, 3); int[] X1 = {Heart.WIDTH - this.XPOINT - 8, Heart.WIDTH - this.XPOINT, Heart.WIDTH - this.XPOINT - 8}; int[] Y1 = {Heart.HEIGHT - this.XPOINT - 6, Heart.HEIGHT - this.XPOINT, Heart.HEIGHT - this.XPOINT + 6}; g.drawPolyline(X1, Y1, 3); //设置像素点移动 this.list1.add(this.num + this.XPOINT); this.num += this.TEP; this.list2.add(this.round()); if (this.num > (Heart.WIDTH - 2 * (this.XPOINT))) { this.list2.remove(0); } int[] xx = new int[10000]; int[] yy = new int[1000]; int j = 0; //把链表中的元素导入数组 for (Integer elem : (this.list1)) { xx[j++] = elem.intValue(); if(j>(Heart.WIDTH - 2 * (this.XPOINT)))break; } int i = 0; for (Integer elem : this.list2) { yy[i++] = elem.intValue(); } g.setColor(Color.RED); //绘制图形 g.drawPolyline(xx, yy, list2.size());}//生成随机数并控制图形在坐标中的位置public int round() { return ((int) (Math.random() * this.YY) + Heart.HEIGHT - 3 * this.XPOINT - 20);}
}
阅读全文
0 0
- JAVA:模拟心电图
- java心电图
- android 模拟心电图类似图表
- android自定义View模拟心电图
- java心电图参考
- eCharts折线图画模拟类似心电图动态往左压的过程
- 浅谈安卓Canvas,模拟心电图的绘制
- HelloChart折线图动态刷新--模拟心电图效果
- 心电图诊断 样本心电图
- Silverlight多线程技术Timer的应用,模拟心电图、模拟CPU、内存状态图
- 心电图动画
- 心电图动画
- 心电图项目
- ECGWaveView心电图
- 奇妙的心电图数列
- 心电图学 书籍推荐
- 心电图速成手册
- 心电图诊断学习笔记
- Java面试笔试题及答案(3)- 简答题
- IndentationError: unindent does not match any outer indentation level
- 美国国税局将对比特币和比特币现金收益征税
- 我国区块链产业有望走在世界前列
- 加密货币对冲基金推动新的“中本聪循环”
- JAVA:模拟心电图
- Android碎知识点以及正则表达式
- 分布式补偿事务处理方案 / 分布式计算是如何控制事务的?
- 从构想到实践:荷兰各银行如何利用区块链
- 媒体区块链以及扩展性之争
- 小程序登录页面实时更新数据,并用调用函数
- python基于Ubuntu下开发环境的准备
- 状态栏 设置 ---设置图片沉浸式状态栏,改变状态栏字体颜色
- 初识zookeeper和Dubbo