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:
Didinimas ir mažinimas buvo atliktas su Scalable Vector Graphics (SVG) , taip, kad vaizdas nėra prarasti savo kokybę po masto pasikeitimus:
Atmesti pakeitimai
valdikliai padėtis yra automatiškai rodomas:
Jis atnaujinamas per kompiuterinį tinklą arba internetą (TCP arba UDP) – internete (realiu laiku)
Pažymėdami ” Parinktys ” kambaryje gali būti vertinamas valstijas valdikliai ir pasirinkti programas .
Įeinantį UDP statusą keitimas automatiškai rewizualizacjÄ ™:
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)
RoomManager ir EthernetRoomManager:
Katilo valdiklis , atgavimas CO (HeatManagera)
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 ;
. . .
}
}
}