西西软件下载最安全的下载网站、值得信赖的软件下载站!

首页编程开发java → Javafx实现远程系统监控

Javafx实现远程系统监控

相关软件相关文章发表评论 来源:西西整理时间:2013/3/24 23:59:03字体大小:A-A+

作者:西西点击:5次评论:24次标签: Javafx

JAVA模拟器JavaFXv1.2绿色/CAB汉化版
  • 类型:手机工具大小:6.8M语言:中文 评分:4.7
  • 标签:
立即下载

Sun凭借JavaFX介入富互联网应用领域,向Adobe的Flex和 Microsoft的Silverlight宣战。它的目标在于为创建横跨桌面、互 联网和移动设备的富互联网应用提供一个基础平台,这也可以看出Sun的Java系列产品的一个重大转变,它不再仅仅专注于底层技术,而是开始创建完整的解 决方案。

目前的技术预览版包括两个主要组件:
关注于设计人员/开发人员工作流的Nile项目和JavaFX Script——一个编写Java GUI应用的新型说明性语言(declarative language)。

实现功能:

1、监控远程机器(用到ganymed-ssh2-build210.jar包)。

2、实时显示cpu使用情况(包括系统进程使用cpu、用户进程使用cpu以及空闲进程使用cpu)。

3、实时系统内存使用情况(包括系统已使用内存以及空闲内存)。

先看效果图:

接口设计: 1、UpdateListener接口,用于实时更新数据


public interface UpdateListener {
public void updateCPU(String user, String sys, String idle);
public void updateMemory(String used, String free);
}

  参考实现: 定义FX图表变量: LineChart cpuLineChart; LineChart memLineChart; 定义监控数据存储变量: ObservableList<LineChart.Series> cpuLineChartSeries = FXCollections .observableArrayList(); ObservableList<LineChart.Series> memLineChartSeries = FXCollections .observableArrayList(); 核心代码:


@Override
public void updateCPU(String user, String sys, String idle) {
cpuLineChartSeries.get(0).getData()
        .add(new LineChart.Data(cpuIndex, Float
                .parseFloat(user)));
cpuLineChartSeries.get(1).getData()
        .add(new LineChart.Data(cpuIndex, Float
                .parseFloat(sys)));
cpuLineChartSeries.get(2).getData()
        .add(new LineChart.Data(cpuIndex, Float
                .parseFloat(idle)));
NumberAxis xAxis = (NumberAxis) cpuLineChart.getXAxis();
if (cpuIndex < xAxis.getUpperBound()) {
    cpuIndex += 1;
} else {
        xAxis.setLowerBound(xAxis.getLowerBound() + 1);
        xAxis.setUpperBound(xAxis.getUpperBound() + 1);
        cpuLineChartSeries.get(0).getData().remove(0);
        cpuLineChartSeries.get(1).getData().remove(0);
        cpuLineChartSeries.get(2).getData().remove(0);
}
}
@Override
public void updateMemory(String used, String free) {
memLineChartSeries.get(0).getData()
        .add(new LineChart.Data(memIndex, Float
                .parseFloat(used) / 1024.0));
memLineChartSeries.get(1).getData()
        .add(new LineChart.Data(memIndex, Float
                .parseFloat(free) / 1024.0));
NumberAxis xAxis = (NumberAxis) memLineChart.getXAxis();
if (memIndex < xAxis.getUpperBound()) {
    memIndex += 1;
} else {
    xAxis.setLowerBound(xAxis.getLowerBound() + 1);
    xAxis.setUpperBound(xAxis.getUpperBound() + 1);
    memLineChartSeries.get(0).getData().remove(0);
    memLineChartSeries.get(1).getData().remove(0);
}
}
  2、数据解析接口


public interface DataParser {
    public String[] getCPUData(String line);
    public String[] getMemoryData(String line);
    public boolean isCPULine(String line);
    public boolean isMemoryLine(String line);
}
  Linux下数据解析参考实现:


public String[] getCPUData(String line) {
String cpuStr = line.substring(line.indexOf("Cpu(s): ") + 8);
int indexOfUser = cpuStr.indexOf("%us,");
String user = cpuStr.substring(0, indexOfUser).trim();
int indexOfSys = cpuStr.indexOf("%sy,");
String sys = cpuStr.substring(indexOfUser + 5, indexOfSys).trim();
int indexOfIdle = cpuStr.indexOf("%id,");
int indexOfNi = cpuStr.indexOf("%ni,");
String idle = cpuStr.substring(indexOfNi + 5, indexOfIdle).trim();
return new String[] { user, sys, idle };
}
public String[] getMemoryData(String line) {
String memStr = line.substring(line.indexOf("total, ") + 7);
int indexOfUsed = memStr.indexOf("k used,");
String used = memStr.substring(0, indexOfUsed).trim();
double usedN = Double.parseDouble(used);
used = "" + (usedN / 1024.0);
int indexOfFree = memStr.indexOf("k free,");
String free = "0.5";
if (indexOfFree >= 0) {
    free = memStr.substring(indexOfUsed + 7, indexOfFree).trim();
    double freeN = Double.parseDouble(free);
    free = "" + (freeN / 1024.0);
}
return new String[] { used, free };
}
源码地址:

点此获取源码

    java模拟器
    (4)java模拟器
    模拟器是通过模拟应用程序的运行环境,实现电脑上使用应用程序以及玩游戏,目前最好的模拟器是。使用模拟器可以运行各种各样的手机程序,安装模拟器后,现在手机上很多的游戏都可以在电脑上玩了哟。手机模拟器使用方法下载后,安装。在桌面找到快捷方式运行程序。点击菜单文件载入...找到我们的手机程序可从网上下载,一般为格式,然后耐心等一会就可以看到运行手机程序了。点击菜单视图模拟键盘可打开模拟键盘,左软键代表手机左功...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(24)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)
    推荐文章

    没有数据