房子的可視化和圖形化的控制eHouse系統自動化 – Java的

圖形可視化 eHouse家庭自動化 擴展了系統的開發環境,並創建一個獨立的軟件開發最終用戶ofeHouse系統的可能性 , 聯營公司和企業希望單獨作出貢獻,在JSE環境(Java)的編程 . eHouse的Java(eHouse4Java)的是兼容Android和Windows Mobile庫 , 使您可以創建自己的軟件控制面板和平板電腦 .
庫的應用程序模板,可以實現:

  • 加載配置 , 控制器的名稱 , 輸出 , 輸入 , 傳感器 , 等 .
  • 確保通信系統控制器
  • 接收和解碼的數據的控制器狀態
  • 對象的可視化圖形()或文本形式發送控制命令(現場可選)
  • 控制系統通過WiFi , 網際網路 , 短信 , 電子郵件
  • 圖形可視化和控制 – 要執行的事件(eHouse系統)和設備狀態的圖形對象與加載文本文件
  • 自動可視化的控制器(室)

可視化是使用java庫 ” 擺動 ” 與元素 ” JPanel中 ” , ” JButton的 ” 等 .
這些對象會自動 ” 一倍 – 緩衝 ” , 使消除閃爍的效果 , 這是很煩人的為用戶 .
用戶還可以控制圖像:

  • 放大和縮小
  • 升級 , 下,從一側到另一側
  • 改變當前視圖選擇 ” 選項 ”
  • 返回到圖形可視化的系統,通過選擇 ” 看 ”

可視化eHouse系統的示例:
 智能家居控制eHouse在線圖形和可視化 - java開源
 智能家居控制eHouse在線圖形和可視化 - java開源
放大和縮小進行使用可伸縮矢量圖形(SVG) , 使圖像不失去其質量的規模後的變化:
 撤消編輯

新! ;
控制器狀態會自動顯示:
更新通過計算機網絡或互聯網(TCP或UDP) – 在線(實時)
 智能家居控制eHouse在線圖形和可視化 - java開源
 智能家居控制eHouse在線圖形和可視化 - java開源
 智能家居控制eHouse在線圖形和可視化 - java開源
 智能家居控制eHouse在線圖形和可視化 - java開源
通過選擇 ” 選項 ” 和房間,可以看到國家控制和選擇方案 .
更改傳入的UDP的狀態會自動rewizualizacjÄ™:  智能家居控制eHouse在線圖形和可視化 - java開源
 智能家居控制eHouse在線圖形和可視化 - java開源
除了可視化的建築設計和安裝智能家居的基礎上設計獨特的自動創建獨立的可視化系統中的每個控制器(特別是RoomManagers和EthernetRoomManager – 個別房間) .
這允許單獨為每間客房的獨立的控制面板和可視化 , 無需繁瑣的創建項目 – 基於可視化系統 .
CommManager(報警傳感器的狀態 , OUPUTS)
 智能家居控制eHouse圖形和可視化自動在線 - java開源
RoomManager和EthernetRoomManager:
 智能家居控制eHouse圖形和可視化自動在線 - java開源
 智能家居控制eHouse圖形和可視化自動在線 - java開源
 智能家居控制eHouse圖形和可視化自動在線 - java開源
鍋爐控制器 , 回收CO(HeatManagera)
 智能家居控制eHouse圖形和可視化自動在線 - java開源
 智能家居控制eHouse圖形和可視化自動在線 - java開源
專門編程庫,eHouse4Android(eHouse為Android的文章中可以找到更多的信息 – Android的Java) , 它已被翻譯成不同的操作系統上的Java SE軟件開發的兼容性和易用性 .
源代碼
/ *
*模板的圖形可視化系統的應用 , 智能家居eHouse
*只有註冊用戶才能系統eHouse , 合作公司保留所有權利
*
*類:
* Ehousecommunication . 類 – 事件發送到系統
* EhouseTCP . 類 – 初始化和維護通過TCP / IP的通信控制器 , 從系統的輸入和輸出的更新後的數據
* StatusEhouse . 類 – 數據存儲和控制器設置 , 更新一個持續的基礎上通過TCP / IP的控制器ehouse1(485)
* StatusCommManager . 類 – 存儲當前數據和設置控制器 , 更新一個持續的基礎上通過TCP / IP控制器ehouse2(以太網)
* GraphicObject . 類 – 存儲的圖形對象
*可視化 . 類 – 繪製圖形對象(線 , 橢圓形 , 矩形)和服務相關的事件
*
* eHouse系統設計了一個圖形可視化的應用程序模板
*只有註冊用戶才能 , 供應商 , 合作社版權ISYS . 恩保留所有權利
*
*必修課程:
* Ehousecommunication . 類 – 將事件發送到系統
* EhouseTCP . 類 – 初始化和維護與控制器的TCP / IP通信 , 更新當前狀態的控制器
* StatusEhouse . 類 – 控制器的設置和數據存儲 , 的更新數據(TCP / IP)ehouse1控制器(485)
* StatusCommManager . 類 – 控制器的設置和數據存儲 , 的更新數據(TCP / IP)為ehouse2控制器(以太網)
* GraphicObject . 類 – 圖形數據存儲對象
*可視化 . 類 – 繪製圖形對象(線 , 省略號 , 矩形)和相關的處理事件
* /
ehouse4java包 ;
導入Java . AWT . * ;
導入Java . AWT . 事件 . * ;
進口javax . 擺動 . * ;
進口javax . 擺動 . 事件 . ChangeEvent事件 ;
進口javax . 擺動 . 事件 . 的ChangeListener ;
Ehouse4java公共類擴展JFrame中實現的ActionListener , ChangeListener {
/ **
*類負責初始化系統狀態 , 和創建
*主應用程序窗口 . 實現接口,支持事件
*與按鈕 .
*
*類負責初始化類的地位和創造
*主應用程序窗口 . 實現接口支持事件
*按鈕 .
* /
/ **
*可視化對象,該對象包含當前顯示的視圖
* /
公眾的可視化可視化 ;
/ /公共的可視化選項 ;
/ /公共的可視化TextEvents ;
/ **
*阿巴雷支持縮放按鈕 , 轉移和變化
*顯示的視圖
* /
JButton的ZoomPlusButton ;
JButton的ZoomMinusButton ;
JButton的LeftShiftButton ;
JButton的RightShiftButton ;
JButton的UpButton ;
JButton的DownButton ;
JButton的ExitB = NULL ;
JButton的選項 ;
JButton的查看 ;
JButton的回 ;
JButton的[] =新的和JButton的ViewsB [MAX_VIEWS_COUNT] ;
/ **
*面板的所有按鈕
* /
JPanel的ZoomPanel ;
/ **
*面板顯示當前包含的可視化
* /
JPanel的viewPanel中 ;
/ **
*面板含有一組按鈕,用於訪問控制器狀態 ,
*系統調度等 . .
* /
JPanel的optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane的jsp1 ;
JScrollPane的jsp2 ;
公共靜態詮釋buttonscounter的 ;
公眾詮釋centerX ;
公眾詮釋CenterY ;
公共詮釋prevCenterX的 ;
公共詮釋prevCenterY的 ;
公共詮釋Ycompensation的 ;
prevOffsetX INT = 0 , prevOffsetY = 0 ;
雙prevScaleX ;
雙prevScaleY ;
公眾最終雙ZOOMFACTOR的= 0 . 3 ;
公共靜態的字符串previousoptionsview = ” ” ;
/ **
*創建新形式Ehouse4java的 . 啟動類和圖形的狀態
*主窗口的組件 .
* /
:公共Ehouse4java(){
超( ” EHouse ” ) ;
在OnCreate() ;
setDefaultCloseOperation(JFrame的 . EXIT_ON_CLOSE) ;
/ **
*啟動所有的圖形組件。
* /
addComponentToPane(getContentPane()) ;

setSize(400 , 400) ;
定義的setLocation(200 , 0) ;
setMinimumSize(新的尺寸(200 , 200)) ;
對我有用(真) ;
prevCenterX =(int)的可視化 . 的getBounds() . getCenterX() ;
prevCenterY =(int)的可視化 . 的getBounds() . getCenterY() ;
}
/ **
*啟動所有元件的乾燥圖形面板。 , 按鈕 , 滾動條 , 等 . .
*
* @參數窗格
* /
公共的無效addComponentToPane(集裝箱窗格){

optionfirsttime = TRUE ;

ExitB =新的JButton的( ” 出口 ” ) ;
ExitB . setActionCommand( ” 出口 ” ) ;
ExitB . addActionListener方法() ;
. . .
indexView INT = 0 ;
ZoomPanel =新,JPanel的(新的FlowLayout()) ;
viewPanel中 . 添加(ZoomPanel , BorderLayout的 . PAGE_END) ;
ZoomPlusButton =新的JButton的( ” + ” ) ;
ZoomPlusButton . setActionCommand( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener方法() ;
ZoomPanel . 添加(ZoomPlusButton) ;
ZoomMinusButton =新的JButton的( ” – ” ) ;
ZoomMinusButton . setActionCommand( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener方法() ;
ZoomPanel . 添加(ZoomMinusButton) ;
. . .
}
/ **
*的啟動和StatusEhouse StatusCommManager類負荷控制器
*狀態
* /
公共無效的OnCreate(){ . . . }
/ **
* @參數指定參數的命令行參數
* /
公共靜態無效的主要(字符串參數[]){
/ *
*創建和顯示形式
* /
JAVA . AWT . EventQueue的 . 的invokeLater(新的Runnable(){
公共無效的run(){
Ehouse4java新的() . 對我有用(真) ;
}
}) ;
}
/ **
*支持通過點擊按鈕調用的事件。
*
* @參數é
* /
@覆蓋
公共無效的actionPerformed(ActionEvent的E){
開關(E . getActionCommand()){
案件 ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . 偏移 ;
ehousecommunication . 的ScaleX * =(1 + ZOOMFACTOR) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY的* =(1 + ZOOMFACTOR) ; / / * 100/zoomleve ;
/ /居中後rescalling觀
ehousecommunication . OffsetX + =(INT)((可視化 . 的getBounds() . getCenterX()+ prevOffsetX)* ZOOMFACTOR) ;
ehousecommunication . 偏移+ =(INT)((可視化 . 的getBounds() . getCenterY()+ prevOffsetY)* ZOOMFACTOR)+ /(1 /(2 * ZOOMFACTOR)Ycompensation) ;
EhouseTCP . ReadViewFile(ehousecommunication . currentview) ; / /計算變焦
可視化 . repaint()方法 ;
返回 ;
. . .
}
}
}