西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)java → Javafx實現(xiàn)遠程系統(tǒng)監(jiān)控

Javafx實現(xiàn)遠程系統(tǒng)監(jiān)控

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/3/24 23:59:03字體大。A-A+

作者:西西點擊:5次評論:24次標簽: Javafx

JAVA模擬器JavaFXv1.2綠色/CAB漢化版
  • 類型:手機工具大。6.8M語言:中文 評分:4.7
  • 標簽:
立即下載

Sun憑借JavaFX介入富互聯(lián)網(wǎng)應用領(lǐng)域,向Adobe的Flex和 Microsoft的Silverlight宣戰(zhàn)。它的目標在于為創(chuàng)建橫跨桌面、互 聯(lián)網(wǎng)和移動設(shè)備的富互聯(lián)網(wǎng)應用提供一個基礎(chǔ)平臺,這也可以看出Sun的Java系列產(chǎn)品的一個重大轉(zhuǎn)變,它不再僅僅專注于底層技術(shù),而是開始創(chuàng)建完整的解 決方案。

目前的技術(shù)預覽版包括兩個主要組件:
關(guān)注于設(shè)計人員/開發(fā)人員工作流的Nile項目和JavaFX Script——一個編寫Java GUI應用的新型說明性語言(declarative language)。

實現(xiàn)功能:

1、監(jiān)控遠程機器(用到ganymed-ssh2-build210.jar包)。

2、實時顯示cpu使用情況(包括系統(tǒng)進程使用cpu、用戶進程使用cpu以及空閑進程使用cpu)。

3、實時系統(tǒng)內(nèi)存使用情況(包括系統(tǒng)已使用內(nèi)存以及空閑內(nèi)存)。

先看效果圖:

接口設(shè)計: 1、UpdateListener接口,用于實時更新數(shù)據(jù)


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

  參考實現(xiàn): 定義FX圖表變量: LineChart cpuLineChart; LineChart memLineChart; 定義監(jiān)控數(shù)據(jù)存儲變量: 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、數(shù)據(jù)解析接口


public interface DataParser {
    public String[] getCPUData(String line);
    public String[] getMemoryData(String line);
    public boolean isCPULine(String line);
    public boolean isMemoryLine(String line);
}
  Linux下數(shù)據(jù)解析參考實現(xiàn):


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模擬器
    模擬器是通過模擬應用程序的運行環(huán)境,實現(xiàn)電腦上使用應用程序以及玩游戲,目前最好的模擬器是。使用模擬器可以運行各種各樣的手機程序,安裝模擬器后,現(xiàn)在手機上很多的游戲都可以在電腦上玩了喲。手機模擬器使用方法下載后,安裝。在桌面找到快捷方式運行程序。點擊菜單文件載入...找到我們的手機程序可從網(wǎng)上下載,一般為格式,然后耐心等一會就可以看到運行手機程序了。點擊菜單視圖模擬鍵盤可打開模擬鍵盤,左軟鍵代表手機左功...更多>>
    • 電腦java模擬器(KEmulator Lite)

      07-28 / 18.5M

      推薦理由: 有想過在電腦上運行手機java程序嗎? 這樣就可以和用朋友的們一起玩有趣的手機網(wǎng)游了 而且還不用支付高昂
    • jbed java模擬器3.1 簡體中文版

      05-16 / 983KB

      推薦理由:最完美的JAVA模擬器就是JBED了支持PPC和SP操作平臺支持后臺操作最新版的java模擬器.以解決手機QQ,java版字體
    • MRP手機JAVA模擬器240*320

      10-23 / 134KB

      推薦理由:MRP 手機由于普遍存在配置低,內(nèi)存小的緣因,對于Java模擬器不太適用,適用于mrp平臺240*320(手寫觸摸屏)
    • JAVA模擬器JavaFXv1.2綠色/CAB漢化

      09-10 / 6.8M

      推薦理由:這個軟件是SUN公司出品的(不是說sun和微軟是死敵嗎?小小的奇怪下)這幾天試用下來,整體感覺不錯。也有些

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(24)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)