Kuća Individualna vizualizacija i grafičko upravljanje iz eHouse sustava automatizacije – Java

Grafički vizualizacija eHouse Početna Automatizacija proširuje razvojno okruženje za sustav i stvara mogućnost samostalnog razvoja softvera za krajnjeg korisnika ofeHouse sustava , povezane tvrtke i tvrtke koje žele pridonijeti individualno programiranje u JSE (Java) okruženju . eHouse za Javu (eHouse4Java) je kompatibilan s Android i Windows Mobile knjižnicama , omogućujući vam da stvorite svoj vlastiti softver za kontrolne ploče i tablete .
Knjižnica je primjena predložak i omogućuje:

  • učitati konfiguraciju , imena kontrolora , Izlazi , Ulazi , senzori , itd .
  • osiguranje kontroler komunikacijski sustav
  • primanje i dekodiranje status kontrolora podataka
  • slati kontrolne naredbe grafički (s vizualizacijom predmeta) ili obliku teksta (s terenskom odabir)
  • kontrolirati sustav putem WiFi , Internet , SMS , eMail
  • Grafičko vizualizacija i nadzor – učitati tekstualnu datoteku grafičkih objekata povezanih s događajima koji će se izvršenim (od eHouse sustava) i opreme statusima
  • Automatski vizualizacija za kontroler (soba)

Vizualizacija je stvorena pomoću java knjižnicu ” njihati ” s elementima ” JPanel ” , ” JButton ” itd .
Ovi predmeti su automatski ” udvostručiti – bufferom ” , tako da učinak treperenje je eliminiran , što je vrlo neugodno za korisnika .
Korisnik također može kontrolirati sliku:

  • zoom in i out
  • napredovati , dolje i sa strane na stranu
  • promijeniti trenutni prikaz odabirom ” Mogućnosti ”
  • povratak na grafičkom vizualizaciji sustava odabirom ” Pregledati ”

Primjer vizualizacije eHouse sustava:
 Inteligentne kuće kontrole eHouse online grafike i vizualizacije - java open source
 Inteligentne kuće kontrole eHouse online grafike i vizualizacije - java open source
Povećavanje i smanjivanje je provedena uz korištenje skalabilne vektorske grafike (SVG) , tako da prikaz ne gubi svoju kvalitetu i nakon promjene ljestvici:
 Poništi promjene

Novo! ;
kontroleri stanje automatski se prikazuju:
To se ažurira putem računalne mreže ili Interneta (TCP ili UDP) – Online (u realnom vremenu)
 Inteligentne kuće kontrole eHouse online grafike i vizualizacije - java open source
 Inteligentne kuće kontrole eHouse online grafike i vizualizacije - java open source
 Inteligentne kuće kontrole eHouse online grafike i vizualizacije - java open source
 Inteligentne kuće kontrole eHouse online grafike i vizualizacije - java open source
Odabirom ” Mogućnosti ” a soba se može vidjeti države koje kontrolere i odaberite programe .
Promjena statusa UDP će automatski rewizualizacjÄ ™:  Inteligentne kuće kontrole eHouse online grafike i vizualizacije - java open source
 Inteligentne kuće kontrole eHouse online grafike i vizualizacije - java open source
Osim vizualizacije individualno osmišljen na temelju arhitektonsko projektiranje i instalaciju pametne kuće automatski se stvara vizualizaciju neovisno za svaki kontroler u sustavu (osobito za RoomManagers i EthernetRoomManager – za pojedine prostorije) .
To omogućava za nezavisne upravljačke ploče i vizualizacije za svaku sobu pojedinačno , bez zahtjevan za izradu projekta – temeljen vizualizacija sustav .
Za CommManager (stanja senzora alarma , Ouputs)
 Inteligentne kuće kontrole eHouse grafike i vizualizacije automatski online - java open source
Za RoomManager i EthernetRoomManager:
 Inteligentne kuće kontrole eHouse grafike i vizualizacije automatski online - java open source
 Inteligentne kuće kontrole eHouse grafike i vizualizacije automatski online - java open source
 Inteligentne kuće kontrole eHouse grafike i vizualizacije automatski online - java open source
Kotao kontroler , Oporavak CO (HeatManagera)
 Inteligentne kuće kontrole eHouse grafike i vizualizacije automatski online - java open source
 Inteligentne kuće kontrole eHouse grafike i vizualizacije automatski online - java open source
Više informacija može se naći u člancima posvećenim programiranje knjižnica eHouse4Android (eHouse za Android – Android Java) , koje su prevedene na Java SE za kompatibilnost i jednostavnost razvoja softvera na različitim operativnim sustavima .
Izvorni kod
/ *
* Predložak aplikacije za grafičku vizualizaciju sustava , pametne kuće eHouse
* Samo za registrirane korisnike sustava eHouse , Surađuju tvrtke Sva prava pridržana
*
* Zahtijeva Nastava:
* Ehousecommunication . razred – slanje događaja na sustav
* EhouseTCP . razred – Inicijalizacija i održavanje komunikacije preko TCP / IP kontroler , Ažurirano podaci iz sustava ulaza i izlaza
* StatusEhouse . razred – pohranu podataka i kontrolor postavke , ažurirana na trajnoj osnovi preko TCP / IP kontroleri ehouse1 (485)
* StatusCommManager . razred – pohraniti aktualne podatke i postavke kontrolera , ažurirana na trajnoj osnovi preko TCP / IP kontroleri ehouse2 (Ethernet)
* GraphicObject . razred – pohranu grafičkih objekata
* Vizualizacija . razred – izvući grafičke objekte (linije , elipse , pravokutnici) i usluga povezanih događanja
*
* Primjena predložak dizajniran grafički vizualizacija eHouse sustava
* Samo za registrirane korisnike , Prodavateljima , Zadruge Copyright ISYS . En Sva prava pridržana
*
* Obavezna nastava:
* Ehousecommunication . razred – slanje događaja na sustav
* EhouseTCP . razred – inicijalizacija i održavanje TCP / IP komunikacija s kontrolorima , ažuriranja trenutnog statusa kontrolera
* StatusEhouse . razred – Kontrolori postavke i pohranu podataka , ažuriranje podataka (TCP / IP) za ehouse1 kontrolera (485)
* StatusCommManager . razred – Kontrolori postavke i pohranu podataka , ažuriranja podataka (TCP / IP) za ehouse2 kontrolera (Ethernet)
* GraphicObject . razred – Grafički pohranu podataka objekti
* Vizualizacija . razred – crtanje grafički objekti (vodovi , Elipsi , pravokutnici) i rukovanje događanja u vezi s njima
* /
ehouse4java paket ;
uvoz java . AWT . * ;
uvoz java . AWT . događaj . * ;
uvoz javax . njihati . * ;
uvoz javax . njihati . događaj . Changeevent ;
uvoz javax . njihati . događaj . ChangeListener ;
Ehouse4java public class proteže JFrame implementira ActionListener , ChangeListener {
/ **
* Klasa odgovoran za inicijalizaciju status sustava , i stvoriti
* Glavni prozor aplikacije . Provodi sučelja koji podržavaju događaj
* Kolega s gumbima .
*
* Klasa Odgovorni za inicijalizacije status klase i stvaranje
* Glavni prozor aplikacije . To Provodi sučelja za podršku događaje
* Povezano s gumbima .
* /
/ **
* Vizualizacija objekt koji sadrži trenutno prikazuje pogled
* /
javni vizualizacija vizualizacija ;
/ / Javne vizualizacija Mogućnosti ;
/ / Javne vizualizacija TextEvents ;
/ **
* Paleti od tipke podržavaju zumiranje , kreće i mijenja
* Prikazano pogled
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
JButton Opcije ;
JButton Pogledaj ;
JButton Natrag ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Ploča sa svim gumbima
* /
JPanel ZoomPanel ;
/ **
* Vijeće trenutno prikazuje sadrži vizualizaciju
* /
JPanel viewpanel ;
/ **
* Ploča sadrži grupu gumba koristi za pristup kontrolere države ,
* Sustav rasporedi, itd. . .
* /
JPanel optionspanel ;
/ **
* Oprional scrollpanes
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
public static int buttonscounter ;
public int centerX ;
public int CenterY ;
public int prevCenterX ;
public int prevCenterY ;
public int Ycompensation ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
bračni prevScaleX ;
bračni prevScaleY ;
javni finalu dvostruko zoomfactor = 0 . 3 ;
public static String previousoptionsview = ” ” ;
/ **
* Stvara novi oblik Ehouse4java . Inicira status klasa i grafičkih
Komponente s glavnom prozoru .
* /
javni Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Inicira sve grafičke komponente
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (nova dimenzija (200 , 200)) ;
setVisible (istina) ;
prevCenterX = (int) Vizualizacije . getBounds () . getCenterX () ;
prevCenterY = (int) Vizualizacije . getBounds () . getCenterY () ;
}
/ **
* Inicira sve komponente suhe kao grafičkih ploča , tipke , scrollbarovi , itd . .
*
* @ Param okno
* /
public void addComponentToPane (kontejnera okno) {

optionfirsttime = true ;

ExitB = new JButton ( ” Izlaz ” ) ;
ExitB . setActionCommand ( ” Izlaz ” ) ;
ExitB . addActionListener (ova) ;
. . .
indexView int = 0 ;
ZoomPanel = new JPanel (novi FlowLayout ()) ;
viewpanel . dodati (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = new JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (ova) ;
ZoomPanel . dodati (ZoomPlusButton) ;
ZoomMinusButton = new JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (ova) ;
ZoomPanel . dodati (ZoomMinusButton) ;
. . .
}
/ **
* Inicira i StatusEhouse StatusCommManager klase po opterećenja kontrolora
* Status
* /
public void OnCreate () { . . . }
/ **
* @ Param args naredbenog retka argumente
* /
public static void main (String args []) {
/ *
* Stvaranje i prikaz obrasca
* /
Java . AWT . EventQueue . invokeLater (novi runnable () {
public void run () {
Ehouse4java novi () . setVisible (istina) ;
}
}) ;
}
/ **
* Podržava događaja pozivati ​​klikom na gumb
*
* @ Param e
* /
@ Override
public void actionPerformed (ActionEvent e) {
prekidač (e . getActionCommand ()) {
slučaj ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Pomaci ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Centriranje pogled nakon rescalling
ehousecommunication . OffsetX + = (int) ((vizualizacija . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Pomaci + = (int) ((vizualizacija . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Izračunajte zoom
Vizualizacija . prefarbati () ;
povratak ;
. . .
}
}
}