Дом індывідуальнай візуалізацыі і графічнага кіравання з EHouse сістэмы аўтаматызацыі – Ява

Графічная візуалізацыя EHouse Home Automation пашырае асяроддзе распрацоўкі для сістэмы і стварае магчымасць самастойнага развіцця праграмнага забеспячэння для канчатковых карыстальнікаў сістэмы ofeHouse , асацыіраваных кампаній і прадпрыемстваў, якія жадаюць ўнесці свой уклад у індывідуальным праграмаванні JSE (Java) асяроддзя . EHouse для Java (eHouse4Java) сумяшчальны з Android і Windows Mobile бібліятэкі , які дазваляе ствараць уласную праграмнае забеспячэнне для панэляў кіравання і планшэтаў .
Бібліятэка шаблонаў прыкладанняў і дазваляе:

  • загрузіць канфігурацыю , імёны кантролераў , Выхады , Выдаткі , Датчыкі , і г.д. .
  • забеспячэнне кантролера сістэмы сувязі
  • прыёму і дэкадаванні дадзеных аб стане кантролера
  • пасылаць кіраўнікі каманды графічна (з візуалізацыяй аб'ектаў) або з тэкставага выгляду (з полем выбару)
  • кіраванне сістэмай праз WiFi , Інтэрнэт , SMS , Электронная пошта
  • Графічная візуалізацыя і кіраванне – загрузіць тэкставы файл графічных аб'ектаў, звязаных з падзеямі, якая будзе выканана (з EHouse сістэмы) і абсталявання статусы
  • Аўтаматычная візуалізацыі для кантролера (нумар)

Візуалізацыя створаны з выкарыстаннем Java-бібліятэкі ” пампаваць ” з элементамі ” JPanel ” , ” JButton ” і г.д. .
Гэтыя аб'екты аўтаматычна ” падвоіцца – буферны ” , так што эфект мігацення ліквідаваны , які з'яўляецца вельмі раздражняльным для карыстальнікаў .
Карыстальнік таксама можа кіраваць малюнкам:

  • павялічваць і памяншаць
  • рухацца ўверх , ўніз і з боку ў бок
  • змяніць бягучае прадстаўленне, выбраўшы ” Опцыі ”
  • вярнуцца да графічнай візуалізацыі сістэмы, выбраўшы ” Глядзець ”

Прыклад сістэмы візуалізацыі EHouse:
 Інтэлектуальнае кіраванне домам EHouse онлайн графікі і візуалізацыі - Java з адкрытым зыходным кодам
 Інтэлектуальнае кіраванне домам EHouse онлайн графікі і візуалізацыі - Java з адкрытым зыходным кодам
Павелічэнне і памяншэнне было праведзена з выкарыстаннем маштабуецца вектарнай графікі (SVG) , так што малюнак не губляе свайго якасці пасля змены маштабу:
 Адмяніць змены

New! ;
Кантролеры статус аўтаматычна адлюстроўваюцца:
Ён абнаўляецца праз кампутарную сетку або праз Інтэрнэт (TCP або UDP) – онлайн (у рэальным часе)
 Інтэлектуальнае кіраванне домам EHouse онлайн графікі і візуалізацыі - Java з адкрытым зыходным кодам
 Інтэлектуальнае кіраванне домам EHouse онлайн графікі і візуалізацыі - Java з адкрытым зыходным кодам
 Інтэлектуальнае кіраванне домам EHouse онлайн графікі і візуалізацыі - Java з адкрытым зыходным кодам
 Інтэлектуальнае кіраванне домам EHouse онлайн графікі і візуалізацыі - Java з адкрытым зыходным кодам
Абраўшы ” Опцыі ” і ў пакоі можна ўбачыць дзяржаў кантролеры і выбару праграм .
Змена статусу ўваходзяць UDP аўтаматычна rewizualizacjÄ ™:  Інтэлектуальнае кіраванне домам EHouse онлайн графікі і візуалізацыі - Java з адкрытым зыходным кодам
 Інтэлектуальнае кіраванне домам EHouse онлайн графікі і візуалізацыі - Java з адкрытым зыходным кодам
У дадатак да візуалізацыі індывідуальна распрацаваны на аснове архітэктурнага праектавання і ўстаноўкі разумнага дома аўтаматычна ствараецца візуалізацыі незалежна для кожнага кантролера ў сістэме (у прыватнасці, для RoomManagers і EthernetRoomManager – для індывідуальнага нумары) .
Гэта дазваляе незалежным панэлі кіравання і візуалізацыі для кожнай пакоя ў асобнасці , без стомнай для стварэння праекта – сістэма візуалізацыі .
Для CommManager (стану ахоўных датчыкаў , Выхады)
 Інтэлектуальнае кіраванне домам EHouse графікі і візуалізацыі аўтаматычны онлайн - Java з адкрытым зыходным кодам
Для RoomManager і EthernetRoomManager:
 Інтэлектуальнае кіраванне домам EHouse графікі і візуалізацыі аўтаматычны онлайн - Java з адкрытым зыходным кодам
 Інтэлектуальнае кіраванне домам EHouse графікі і візуалізацыі аўтаматычны онлайн - Java з адкрытым зыходным кодам
 Інтэлектуальнае кіраванне домам EHouse графікі і візуалізацыі аўтаматычны онлайн - Java з адкрытым зыходным кодам
Кантролер катла , аднаўленне CO (HeatManagera)
 Інтэлектуальнае кіраванне домам EHouse графікі і візуалізацыі аўтаматычны онлайн - Java з адкрытым зыходным кодам
 Інтэлектуальнае кіраванне домам EHouse графікі і візуалізацыі аўтаматычны онлайн - Java з адкрытым зыходным кодам
Больш падрабязную інфармацыю можна знайсці ў артыкулах, прысвечаных eHouse4Android праграмных бібліятэк (EHouse для Android – Android Java) , , Якія былі перакладзены на Java SE на сумяшчальнасць і прастату распрацоўкі праграмнага забеспячэння на розных аперацыйных сістэмах .
SOURCE CODE
/ *
* Шаблон для графічных прыкладанняў сістэмы візуалізацыі , разумны дом EHouse
* Толькі для зарэгістраваных карыстальнікаў сістэмы EHouse , Супрацоўніцтва кампаній Усе правы абаронены
*
* Патрабуецца класы:
* Ehousecommunication . клас – Напісаць падзей у сістэме
* EhouseTCP . клас – Ініцыялізацыя і падтрыманне сувязі па пратаколе TCP / IP кантролера , Абноўленыя дадзеныя з сістэмы ўваходы і выхады
* StatusEhouse . клас – захоўванне дадзеных і налад кантролера , абнаўляцца на пастаяннай аснове ў працягу TCP / IP кантролераў ehouse1 (485)
* StatusCommManager . клас – захаваць бягучыя дадзеныя і налады кантролераў , абнаўляцца на пастаяннай аснове ў працягу TCP / IP кантролераў ehouse2 (Ethernet)
* GraphicObject . клас – захоўвання графічных аб'ектаў
* Візуалізацыя . клас – маляваць графічныя аб'екты (лініі , эліпс , прастакутнікі) і служба падзей, звязаных з
*
* Ужыванне шаблонаў прызначаны графічнай візуалізацыі EHouse сістэмы
* ТОЛЬКІ для зарэгістраваных карыстальнікаў , Вытворцы , Copyright кааператываў ISYS . En All Rights Reserved
*
* Абавязковыя класы:
* Ehousecommunication . клас – адпраўка падзей у сістэме
* EhouseTCP . клас – ініцыялізацыі і абслугоўванню TCP / IP сувязі з кантролерамі , абнаўленне бягучага стану кантролераў
* StatusEhouse . клас – Кантролеры налады і захоўвання дадзеных , абнаўленне дадзеных (TCP / IP) для ehouse1 кантролеры (485)
* StatusCommManager . клас – Кантролеры налады і захоўвання дадзеных , абнаўленне дадзеных (TCP / IP) для ehouse2 кантролеры (Ethernet)
* GraphicObject . клас – графічныя аб'екты захоўвання дадзеных
* Візуалізацыя . клас – маляванне графічных аб'ектаў (ліній , Эліпсы , прастакутнікі) і апрацоўку падзей, звязаных з імі
* /
ehouse4java пакет ;
Імпарт Java . AWT . * ;
Імпарт Java . AWT . падзея . * ;
Імпарт javax . пампаваць . * ;
Імпарт javax . пампаваць . падзея . ChangeEvent ;
Імпарт javax . пампаваць . падзея . ChangeListener ;
Ehouse4java грамадскага клас пашырае JFrame гармат ActionListener , ChangeListener {
/ **
* Клас адказвае за ініцыялізацыю стану сістэмы , і стварыць
* У галоўным акне прыкладання . Рэалізуе інтэрфейсы, якія падтрымліваюць падзеі
* Звязаныя з кнопкамі .
*
* Клас, які адказвае за ініцыялізацыю стану класаў і стварэння
* У галоўным акне прыкладання . , Які рэалізуе падтрымку інтэрфейсу падзей
* Якія адносяцца да кнопак .
* /
/ **
* Візуалізацыя аб'екта, які змяшчае ў цяперашні час Прагледжаны гледжання
* /
Візуалізацыя грамадскасці візуалізацыяй ;
/ / Грамадскія параметры візуалізацыі ;
/ / Грамадскія TextEvents візуалізацыі ;
/ **
* Pallete кнопак падтрымкай маштабавання , зрушэння і змены
* Адлюстроўваецца выгляд
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = NULL ;
JButton параметры ;
JButton View ;
JButton назад ;
JButton [] = новы JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Панэль з кнопкамі ўсё
* /
JPanel ZoomPanel ;
/ **
* Панэль Адлюстроўваецца ў цяперашні час мае візуалізацыю
* /
JPanel viewpanel ;
/ **
* Панэль, якая змяшчае група кнопак выкарыстоўваецца для доступу да кантролерам дзяржавы ,
* Сістэма графікаў і г.д. . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
грамадскасці статычнай buttonscounter Int ;
грамадскіх Int CenterX ;
грамадскіх Int CenterY ;
грамадскіх Int prevCenterX ;
грамадскіх Int prevCenterY ;
грамадскіх Int 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)) ;
SetVisible (ісціна) ;
prevCenterX = (INT) Візуалізацыя . GetBounds () . getCenterX () ;
prevCenterY = (INT) Візуалізацыя . GetBounds () . getCenterY () ;
}
/ **
* Ініцыюе ўсе кампаненты сухія, як графічныя панэлі , Кнопкі , пракруткі , і г.д. . .
*
* @ Param вобласці
* /
грамадскіх 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 несапраўднымі () { . . . }
/ **
* @ Param аргументы аргументы каманднага радка
* /
дзяржаўнай статычнай сілы асноўных (аргументы String []) {
/ *
* Стварэнне і адлюстравання формы
* /
Ява . AWT . EventQueue . invokeLater (Новы Runnable () {
грамадскага запусціць несапраўднымі () {
Ehouse4java новыя () . SetVisible (ісціна) ;
}
}) ;
}
/ **
* Падтрымка падзей выклікаецца націскам на кнопку
*
* @ Param электроннай
* /
@ Override
грамадскага несапраўднымі actionPerformed (ActionEvent е) {
Пераключальнік (е . 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) + Ycompensation / (1 / (2 * ZoomFactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . CurrentView) ; / / Вылічыць маштабу
Візуалізацыя . перафарбаваць () ;
вяртаць ;
. . .
}
}
}