前段时间做了个linux信息采集系统,目的是在windows环境下监测linx主机的资源使用情况以及硬件的健康状况,采集到信息后需要以动态图表的形式显示出来,由于使用的swt的来做的界面,上网搜索后发现相关的资料很少,要么不能用,要么不适合,于是决定写个demo,方便以后使用,希望对有需要的人有所帮助。本demo使用的是jfreechart组件,这个demo是根据官网的demo改的,为了方便使用LinkedHashMap来维护数据,因为这是有序的,而且可以通过重写removeEldestEntry()方法来对数据进行刷新。由于是个demo,所以数据是随机生成的。
接下来就上代码吧:
相关jar包下载地址:http://download.youkuaiyun.com/detail/q5841818/8854819
源码下载地址:百度云盘链接:http://pan.baidu.com/s/1c0i63WO 密码:wuip
将下面这两个类放在同一包下,编译即可运行
import java.util.LinkedHashMap;
import java.util.Map;
import org.jfree.data.time.Second;
public class MyMap extends LinkedHashMap<Second, Integer>{
/**
*
*/
private static final long serialVersionUID = 1L;
private static final int MAX_ENTRIES = 9;
protected boolean removeEldestEntry(Map.Entry eldest) {
return size() > MAX_ENTRIES;
}
}
import java.awt.Color;
import java.text.SimpleDateFormat;
import java.util.Random;
import java.util.Map.Entry;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;