Куќа Индивидуалните визуелизација и графички контрола од eHouse систем за автоматизација – Јава

Графички визуелизација на eHouse home automation се протега на развој на животната средина за системот и создава можност за независна развој на софтвер за крајните корисници ofeHouse систем , поврзани компании и бизниси кои сакаат да придонесе поединечно програмирање во JSE (Јава) Животната средина . eHouse за Java (eHouse4Java) е компатибилен со Андроид и Windows Mobile библиотеки , овозможувајќи ви да се создаде свој софтвер за контрола на панели и таблети .
Во библиотеката е примена дефиниција и овозможува:

  • вчита конфигурацијата , имињата на контролорите , Излези , Влезови , сензори , итн .
  • обезбедување на комуникациски систем контролер
  • примање и декодирање на контролорот на податоците статус
  • испрати контрола на командите графички (со визуелизација на објекти) или од текстот форма (со областа избор)
  • систем за контрола преку WiFi , Интернет , СМС , пошта
  • Графички визуелизација и контрола – вчитување на текстуална датотека на графички објекти поврзани со настани треба да се извршат (на eHouse систем) и опрема статуси
  • Автоматско визуелизација за контролер (соба)

Визуелизација е создадена со користење на Јава библиотека ” замав ” со елементи на ” JPanel ” , ” JButton ” итн .
Овие објекти се автоматски ” двојно – ублажен ” , така што ефектот на треперење е елиминиран , што е многу досадно за корисникот .
Корисникот, исто така, можат да го контролираат сликата:

  • зум во и надвор
  • се движат нагоре , надолу и од страна на страна
  • промена на тековниот преглед со избирање на ” Опции ”
  • се врати на графички визуелизација на системот со избирање на ” Прикажи ги ”

Пример за визуелизација eHouse систем:
 Интелигентни дома контрола eHouse онлајн графика и визуелизација - Јава софтверот со отворен код
 Интелигентни дома контрола eHouse онлајн графика и визуелизација - Јава софтверот со отворен код
Зумирање во и надвор беше спроведено со употреба на скалабилни векторска графика (SVG) , така што сликата не губи својот квалитет по промената на скалата:
 Врати уредувања

Ново! ;
контролори статусот автоматски се прикажува:
Тој се ажурираат преку компјутерска мрежа или на Интернет (TCP или UDP) – онлајн (во реално време)
 Интелигентни дома контрола eHouse онлајн графика и визуелизација - Јава софтверот со отворен код
 Интелигентни дома контрола eHouse онлајн графика и визуелизација - Јава софтверот со отворен код
 Интелигентни дома контрола eHouse онлајн графика и визуелизација - Јава софтверот со отворен код
 Интелигентни дома контрола eHouse онлајн графика и визуелизација - Јава софтверот со отворен код
Со избирање на ” Опции ” и во собата може да се види држави контролери и изберете програми .
Менување на статусот на дојдовни UDP автоматски ќе rewizualizacjÄ ™:  Интелигентни дома контрола eHouse онлајн графика и визуелизација - Јава софтверот со отворен код
 Интелигентни дома контрола eHouse онлајн графика и визуелизација - Јава софтверот со отворен код
Во прилог на визуелизација на индивидуално дизајнирана врз основа на архитектонски дизајн и инсталација на паметни дома е автоматски создадена визуелизација независно за секој контролор во системот (особено за RoomManagers и EthernetRoomManager – за индивидуални соби) .
Ова им овозможува на независни контролни панели и визуелизација за секоја соба поединечно , без досадни да се создаде проект – базирани визуелизација систем .
За CommManager (членки на аларм сензори , Ouputs)
 Интелигентни дома контрола eHouse графика и визуелизација автоматски онлајн - Јава софтверот со отворен код
За RoomManager и EthernetRoomManager:
 Интелигентни дома контрола eHouse графика и визуелизација автоматски онлајн - Јава софтверот со отворен код
 Интелигентни дома контрола eHouse графика и визуелизација автоматски онлајн - Јава софтверот со отворен код
 Интелигентни дома контрола eHouse графика и визуелизација автоматски онлајн - Јава софтверот со отворен код
Котел контролер , обновување на CO (HeatManagera)
 Интелигентни дома контрола eHouse графика и визуелизација автоматски онлајн - Јава софтверот со отворен код
 Интелигентни дома контрола eHouse графика и визуелизација автоматски онлајн - Јава софтверот со отворен код
Повеќе информации може да се најде во статиите посветени на програмски библиотеки eHouse4Android (eHouse за Андроид – Андроид Јава) , кои се преведени на Java SE за компатибилност и леснотија на развој на софтвер за различни оперативни системи .
Изворниот код
/ *
* Шаблон апликации за графички визуелизација систем , паметни дома eHouse
* Само за регистрирани корисници на системот eHouse , Соработува компании Сите права се задржани
*
* Потребна класи:
* Ehousecommunication . класа – испрати настани на системот
* EhouseTCP . класа – Иницијализација и одржување на комуникациите над TCP / IP контролер , Ажурирани податоци од системот влезови и излези
* StatusEhouse . класа – складирање на податоци и контролорот подесувања , ажурирани на континуирана основа над TCP / IP контролори ehouse1 (485)
* StatusCommManager . класа – чување тековните податоци и поставувања контролори , ажурирани на континуирана основа над TCP / IP контролори ehouse2 (Ethernet)
* GraphicObject . класа – складирање на графички објекти
* Визуелизација . класа – подготви графички објекти (линии , елипси , правоаголници) и услуги поврзани со настани
*
* Краен дефиниција дизајниран графички визуелизација на eHouse систем
* Само за регистрирани корисници , Продавачите , Соработка Copyright ISYS . En Сите права се задржани
*
* Задолжителни класи:
* Ehousecommunication . класа – испраќање на настани за системот
* EhouseTCP . класа – иницијализација и одржување TCP / IP комуникација со контролори , ажурирање моменталниот статус на контролори
* StatusEhouse . класа – контролори поставувања и складирање на податоци , ажурирање на податоци (TCP / IP) за ehouse1 контролори (485)
* StatusCommManager . класа – контролори поставувања и складирање на податоци , ажурирање на податоци (TCP / IP) за ehouse2 контролори (Ethernet)
* GraphicObject . класа – графички складирање на податоци објекти
* Визуелизација . класа – цртање графички објекти (линии , Елипси , правоаголници) и ракување настани поврзани со нив
* /
ehouse4java пакет ;
увоз Јава . AWT . * ;
увоз Јава . AWT . Настанот . * ;
увоз javax . замав . * ;
увоз javax . замав . Настанот . Changeevent ;
увоз javax . замав . Настанот . ChangeListener ;
Ehouse4java јавни класа протега JFrame спроведува ActionListener , ChangeListener {
/ **
* Класа одговорен за иницијализацијата на статусот на системот , и да се создаде
* Во главниот прозорец . Спроведува интерфејси кои го поддржуваат настан
* Поврзани со копчиња .
*
* Класа одговорен за иницијализирање на статусот на класи и создавање на
* Во главниот прозорец . Што ја спроведува интерфејси поддршка настани
* Во врска со копчиња .
* /
/ **
* Визуелизација објектот содржи тековно прикажаниот поглед
* /
јавни визуелизација визуелизација ;
/ / Јавни визуелизација Опции ;
/ / Јавни визуелизација TextEvents ;
/ **
* Палета на копчиња поддршка на зумирање , менувањето и менување на
* Прикажано поглед
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton Горе ;
JButton DownButton ;
JButton ExitB = нула ;
JButton Опции ;
JButton Преглед ;
JButton Назад ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Панел со сите копчиња
* /
JPanel ZoomPanel ;
/ **
* Панел прикажани во моментов содржи визуелизација
* /
JPanel viewpanel ;
/ **
* На панел содржи група на копчиња се користат за пристап контролори држави ,
* Систем за распоредот итн . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
public static int buttonscounter ;
јавни int centerX ;
јавни int CenterY ;
јавни int prevCenterX ;
јавни int prevCenterY ;
јавни int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
двојно prevScaleX ;
двојно prevScaleY ;
јавни финалето двојно zoomfactor = 0 . 3 ;
public static Стринг 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 () ;
}
/ **
* Иницира сите компоненти суви како графички панели , копчиња , лизгачите , итн . .
*
* @ Парам панелот
* /
јавни празнина addComponentToPane (садот површината) {

optionfirsttime = true ;

ExitB = new JButton ( ” Излезете ” ) ;
ExitB . setActionCommand ( ” Излезете ” ) ;
ExitB . addActionListener (ова) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (нов FlowLayout ()) ;
viewpanel . додадете (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (ова) ;
ZoomPanel . додадете (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (ова) ;
ZoomPanel . додадете (ZoomMinusButton) ;
. . .
}
/ **
* Иницира и StatusEhouse StatusCommManager класи со вчитување на контролорите
* Статус
* /
јавни празнина OnCreate () { . . . }
/ **
* @ Парам аргументи на командната линија аргументи
* /
public static void main (String аргументи []) {
/ *
* Направете и прикажување на форма
* /
Јава . AWT . EventQueue . invokeLater (нов Runnable () {
јавни празнина run () {
Ehouse4java нови () . setVisible (вистинска) ;
}
}) ;
}
/ **
* Поддржува настани повика со кликнување на копчето
*
* @ Парам е
* /
@ Прескокнувате
јавни празнина 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) ; / / Пресметајте зум
Визуелизација . repaint () ;
врати ;
. . .
}
}
}