Namas Individualus Vizualizacija ir grafinė kontrolė iš eHouse sistemos automatizavimo – Java

Grafinis vaizdavimas eHouse Home Automation išplečia sistemos kūrimo aplinka ir sukuria nepriklausomo programinės įrangos kūrimo galimybę galutiniams vartotojams ofeHouse sistemos , susijusioms įmonėms ir įmonėms, norinčioms prisidėti individualiai programavimas JSE (Java) aplinkoje . eHouse Java (eHouse4Java) yra suderinama su "Android" ir "Windows Mobile" bibliotekų , leidžia jums sukurti savo programinę įrangą valdymo skydai ir tabletės .
Biblioteka yra prašymo šabloną ir leidžia:

  • įkelti konfigūravimo , valdytojų vardai , Išėjimai , Įėjimai , jutikliai , ir tt .
  • komunikacijos sistemos valdiklis užtikrinimą
  • priimti ir atkoduoti duomenų valdytojo statusas
  • siųsti valdymo komandas grafiškai (su objektų vizualizacija) arba teksto forma (su lauko Pasirenkamas)
  • valdyti sistemą per wifi , Internetas , SMS , paštas
  • Grafinis vaizdavimas ir kontrolė – įkelti tekstinį failą grafinių objektų, susijusių su renginiuose, kurie bus įvykdyta mirties bausmė (eHouse sistema) ir įrangos statuso
  • Automatinis vizualizacija valdytojo (kambarys)

Vizualizacija yra sukurta naudojant "Java" biblioteką ” sūpynės ” elementais, ” JPanel ” , ” JButton ” ir tt .
Šie objektai yra automatiškai ” dvigubai – buferinis ” , kad poveikis eliminuojamas iš mirgėjimo , , kuri yra labai erzina, kad vartotojas .
Vartotojas gali taip pat kontroliuoti vaizdą:

  • padidinti ir iš
  • perkelti , žemyn ir į šonus
  • pakeisti dabartinį vaizdą pasirinkę ” Parinktys ”
  • grįžti į grafinės vizualizacijos sistemos, pasirinkus ” Peržiūrėti ”

Vizualizavimo eHouse sistemos pavyzdys:
 Protingi namai kontrolės eHouse lankosi grafika ir vizualizacijos - Java atviro kodo
 Protingi namai kontrolės eHouse lankosi grafika ir vizualizacijos - Java atviro kodo
Didinimas ir mažinimas buvo atliktas su Scalable Vector Graphics (SVG) , taip, kad vaizdas nėra prarasti savo kokybę po masto pasikeitimus:
 Atmesti pakeitimai

Naujiena! ;
valdikliai padėtis yra automatiškai rodomas:
Jis atnaujinamas per kompiuterinį tinklą arba internetą (TCP arba UDP) – internete (realiu laiku)
 Protingi namai kontrolės eHouse lankosi grafika ir vizualizacijos - Java atviro kodo
 Protingi namai kontrolės eHouse lankosi grafika ir vizualizacijos - Java atviro kodo
 Protingi namai kontrolės eHouse lankosi grafika ir vizualizacijos - Java atviro kodo
 Protingi namai kontrolės eHouse lankosi grafika ir vizualizacijos - Java atviro kodo
Pažymėdami ” Parinktys ” kambaryje gali būti vertinamas valstijas valdikliai ir pasirinkti programas .
Įeinantį UDP statusą keitimas automatiškai rewizualizacjÄ ™:  Protingi namai kontrolės eHouse lankosi grafika ir vizualizacijos - Java atviro kodo
 Protingi namai kontrolės eHouse lankosi grafika ir vizualizacijos - Java atviro kodo
Be to, su individualiai sukurta remiantis protingo namo architektūrinio projektavimo ir įrengimo vaizdui automatiškai sukuriama atskirai kiekvieno valdiklio vizualizacija sistemos (visų pirma RoomManagers ir EthernetRoomManager – atskirų patalpų) .
Tai leidžia nepriklausomos kontrolės plokščių ir vizualizacija kiekviename kambaryje atskirai , be varginančių sukurti projektą – pagrindu vizualizavimo sistema .
CommManager (pavojaus signalo daviklius narės , Ouputs)
 Protingi namai kontrolės eHouse grafika ir vizualizacija automatinis lankosi - Java atviro kodo
RoomManager ir EthernetRoomManager:
 Protingi namai kontrolės eHouse grafika ir vizualizacija automatinis lankosi - Java atviro kodo
 Protingi namai kontrolės eHouse grafika ir vizualizacija automatinis lankosi - Java atviro kodo
 Protingi namai kontrolės eHouse grafika ir vizualizacija automatinis lankosi - Java atviro kodo
Katilo valdiklis , atgavimas CO (HeatManagera)
 Protingi namai kontrolės eHouse grafika ir vizualizacija automatinis lankosi - Java atviro kodo
 Protingi namai kontrolės eHouse grafika ir vizualizacija automatinis lankosi - Java atviro kodo
Daugiau informacijos galima rasti straipsnių, skirtų į programavimo bibliotekų eHouse4Android (eHouse skirta "Android" – "Android" Java ") , , kuris buvo išverstas į Java SE suderinamumo ir skirtingų operacinių sistemų programinės įrangos kūrimo paprastumas .
Išeitinis kodas
/ *
* Šablonų prašymai dėl grafinio vizualizavimo sistemos , protingo namo eHouse
* Tik registruotiems vartotojams sistemos eHouse , Bendradarbiaujančioms bendrovėms, Visos teisės saugomos
*
* Reikalinga Klasės:
* Ehousecommunication . klasė – siųsti įvykius prie sistemos
* EhouseTCP . klasė – Iniciacijos ir ryšių palaikymas per TCP / IP valdiklis , Atnaujinami duomenys iš sistemos įėjimų ir išėjimų
* StatusEhouse . klasė – duomenų saugojimo ir valdiklio nustatymai , atnaujinama nuolat per TCP / IP valdikliai ehouse1 (485)
* StatusCommManager . klasė – išsaugoti esamus duomenis ir parametrai valdikliai , atnaujinamas nuolat per TCP / IP valdikliai ehouse2 ("Ethernet")
* GraphicObject . klasė – grafinius objektus sandėliavimas
* Vizualizacija . klasė – parengti grafinius objektus (eilutės , elipsės , stačiakampiai) ir paslaugų su jomis susiję įvykiai
*
* Application šabloną sukūrė grafikos vizualizacija eHouse sistema
* Tik registruotiems vartotojams , Pardavėjai , Coopératives Copyright ISYS . En Visos teisės saugomos
*
* Privalomi klases:
* Ehousecommunication . klasė – siųsti įvykius prie sistemos
* EhouseTCP . klasė – iniciacijos ir priežiūra TCP / IP ryšio su valdikliai , atnaujinti dabartinę būklę ir revizorių
* StatusEhouse . klasė – valdikliai nustatymai ir duomenų saugojimo , atnaujinti duomenys (TCP / IP) ehouse1 valdikliai (485)
* StatusCommManager . klasė – valdikliai nustatymai ir duomenų saugojimo , atnaujinti duomenis (TCP / IP) ehouse2 valdikliai (Ethernet)
* GraphicObject . klasė – grafinių duomenų saugojimo objektai
* Vizualizacija . klasė – piešimo grafiniai objektai (linijos , Elipsės , stačiakampiai) ir tvarkymo įvykius, susijusius su jais
* /
ehouse4java paketas ;
importo java . AWT . * ;
importo java . AWT . įvykis . * ;
importo javax . sūpynės . * ;
importo javax . sūpynės . įvykis . Changeevent ;
importo javax . sūpynės . įvykis . ChangeListener ;
Ehouse4java visuomenės klasė apima JFrame įgyvendina ActionListener , ChangeListener {
/ **
* Klasė, atsakingas už sistemos būklę iniciacijos , ir sukurti
* Pagrindinis programos langas . Įgyvendina sąsajas, kad paremti šį renginį
* Asocijuotas su mygtukais .
*
* Klasė Atsakingas už Inicijuojama klasių statusą ir sukurti
* Pagrindinis programos langas . Kad Įgyvendina sąsajas remti renginius
* Susiję mygtukų .
* /
/ **
* Vizualizacija turintis objektas šiuo metu rodomą vaizdą
* /
visuomenės vizualizacija vizualizavimas ;
/ / Viešoji vizualizacijos galimybes ;
/ / Viešoji vizualizacija TextEvents ;
/ **
* Paletė mygtukai patvirtinantys priartinimo , keičiasi ir keičiasi
* Rodoma, vaizdas
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton parinktys ;
JButton Peržiūrėti ;
JButton Atgal ;
JButton [] = nauji JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Visų mygtukų pultas
* /
JPanel ZoomPanel ;
/ **
* Pultas Parodytas metu, kurių sudėtyje yra vizualizacija
* /
JPanel viewpanel ;
/ **
* Skydelis, kuriame yra naudojamas prieigai prie valdikliai valstybes mygtukų grupę ,
* Sistemos tvarkaraščiai ir kt. . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
public static int buttonscounter ;
visuomenės int centerX ;
visuomenės int CenterY ;
visuomenės int prevCenterX ;
visuomenės int prevCenterY ;
visuomenės int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
dvigubai prevScaleX ;
dvigubai prevScaleY ;
visuomenės galutine dvigulė zoomfactor = 0 . 3 ;
public static String previousoptionsview = ” ” ;
/ **
* Sukuria naują formą Ehouse4java . Inicijuoja klasių ir grafikos statusas
* Sudėtinės dalys, kurių pagrindiniame lange .
* /
visuomenės Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Inicijuojamas visus grafinius komponentus
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (nauja dimensija (200 , 200)) ;
setVisible (teisinga) ;
prevCenterX = (int) vizualizacija . getBounds () . getCenterX () ;
prevCenterY = (int) vizualizacija . getBounds () . getCenterY () ;
}
/ **
* Inicijuojamas visus komponentus, sausa, kaip grafikos plokščių , mygtukai , slinkties , ir tt . .
*
* @ Param sritis
* /
public void addComponentToPane (Konteinerių sritis) {

optionfirsttime = true ;

ExitB = nauji JButton ( ” Išeiti ” ) ;
ExitB . setActionCommand ( ” Išeiti ” ) ;
ExitB . addActionListener (tai) ;
. . .
indexView int = 0 ;
ZoomPanel = nauji JPanel (naujas FlowLayout ()) ;
viewpanel . pridėti (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = nauji JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (tai) ;
ZoomPanel . pridėti (ZoomPlusButton) ;
ZoomMinusButton = nauji JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (tai) ;
ZoomPanel . pridėti (ZoomMinusButton) ;
. . .
}
/ **
* Inicijuoja ir StatusEhouse StatusCommManager grup ÷ s pagal krovimo valdikliai
* Statusas
* /
public void onCreate () { . . . }
/ **
* @ Param args perduoti komandinės eilutės argumentai
* /
public static negaliojančiu pagrindinis (Styginių args []) {
/ *
* Kurti ir rodyti formą
* /
Java . AWT . EventQueue . invokeLater (nauja Runnable () {
public void run () {
Ehouse4java new () . setVisible (teisinga) ;
}
}) ;
}
/ **
* Palaiko įvykius Atsiradęs spustelėdami mygtuką
*
* @ Param e
* /
@ Nepaisyti
public void actionPerformed (ActionEvent e) {
jungiklis (e . getActionCommand ()) {
atvejis ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Offsets " ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Centravimo nuomonės po rescalling
ehousecommunication . OffsetX + = (int) ((vizualizacija . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Offsets "+ = (int) ((vizualizacija . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Apskaičiuokite priartinimas
Vizualizacija . perdažyti () ;
grįžti ;
. . .
}
}
}