房子的可视化和图形化的控制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()方法 ;
返回 ;
. . .
}
}
}