Kamra Viżwalizzazzjoni individwali u l-kontroll grafika minn Automation System eHouse – Java

Viżwalizzazzjoni Graphical ta Awtomazzjoni Home eHouse testendi l-ambjent għall-iżvilupp għas-sistema u toħloq il-possibbiltà ta 'żvilupp ta' softwer indipendenti għas-sistema finali ofeHouse utenti , kumpaniji assoċjati u n-negozji li jixtiequ jikkontribwixxu individwalment programmazzjoni JSE (Java) l-ambjent . eHouse għall Java (eHouse4Java) hija kompatibbli mal-Android u Windows Mobile libreriji , li bih tkun tista toħloq software tiegħek għal pannelli ta 'kontroll u pilloli .
Il-librerija hija l-template applikazzjoni u tippermetti:

  • tagħbija konfigurazzjoni , l-ismijiet tal-kontrolluri , Outputs , Inputs , sensuri , eċċ .
  • iżgurar kontrollur sistema ta 'komunikazzjoni
  • tirċievi u dekodifikazzjoni l-istatus kontrollur tad-data
  • tibgħat jikkmanda kontroll grafikament (bl-viżwalizzazzjoni ta 'oġġetti) jew mill-forma test (bl selezzjonabbli qasam)
  • sistema ta 'kontroll permezz WiFi , Internet , SMS , eMail
  • Viżwalizzazzjoni Grafika u l-kontroll – tagħbija l-fajl test ta 'oġġetti grafiċi assoċjati mal-ġrajjiet li għandhom jitwettqu (ta' sistema eHouse) u statuti tagħmir
  • Viżwalizzazzjoni awtomatiku għall-kontrollur (kamra)

Viżwalizzazzjoni hija maħluqa bl-użu java librerija ” jitbandal ” ma 'elementi ta' ” JPanel ” , ” JButton ” eċċ .
Dawn l-oġġetti huma awtomatikament ” doppju – buffered ” , sabiex l-effett ta 'teptip jiġi eliminat , li hija ħafna annoying għall-utent .
L-utent jista 'wkoll jikkontrolla l-immaġini:

  • zoom u 'l barra
  • ningranaw , isfel u minn naħa għal oħra
  • jibdlu l-fehma attwali billi tagħżel il- ” Għażliet ”
  • ritorn lejn il-viżwalizzazzjoni grafika tas-sistema billi jintgħażel il- ” View ”

Eżempju ta 'sistema eHouse viżwalizzazzjoni:
 Intelliġenti dar ta 'kontroll eHouse grafika online u viżwalizzazzjoni - java sors miftuħ
 Intelliġenti dar ta 'kontroll eHouse grafika online u viżwalizzazzjoni - java sors miftuħ
Zooming fi u barra twettqet bl-użu ta 'grafika vector jistgħu jegħlbuhom magħhom (SVG) , b'tali mod li l-immaġini ma jitlifx il-kwalità tiegħu wara l-bidla tal-iskala:
 Jneħħu modifiki

Ġdid! ;
kontrolluri istatus huma awtomatikament murija:
Jiġi aġġornat permezz ta 'netwerk tal-kompjuter jew l-Internet (TCP jew UDP) – online (fil-ħin reali)
 Intelliġenti dar ta 'kontroll eHouse grafika online u viżwalizzazzjoni - java sors miftuħ
 Intelliġenti dar ta 'kontroll eHouse grafika online u viżwalizzazzjoni - java sors miftuħ
 Intelliġenti dar ta 'kontroll eHouse grafika online u viżwalizzazzjoni - java sors miftuħ
 Intelliġenti dar ta 'kontroll eHouse grafika online u viżwalizzazzjoni - java sors miftuħ
Billi tagħżel l- ” Għażliet ” u l-kamra jistgħu jidhru kontrolluri stati u agħżel il-programmi .
Nibdlu l-istatus ta 'UDP dieħla se awtomatikament rewizualizacjÄ ™:  Intelliġenti dar ta 'kontroll eHouse grafika online u viżwalizzazzjoni - java sors miftuħ
 Intelliġenti dar ta 'kontroll eHouse grafika online u viżwalizzazzjoni - java sors miftuħ
Minbarra l-viżwalizzazzjoni ta individwalment mfassla bbażati fuq id-disinn arkitettoniku u installazzjoni ta 'dar intelliġenti huwa maħluq awtomatikament l-viżwalizzazzjoni b'mod indipendenti għal kull kontrollur fis-sistema (partikolarment għall RoomManagers u EthernetRoomManager – għall-kmamar individwali) .
Dan jippermetti għal pannelli ta 'kontroll indipendenti u viżwalizzazzjoni għal kull kamra individwalment , mingħajr tedious biex joħolqu proġett – Sistema bbażata viżwalizzazzjoni .
Għal CommManager (stati ta 'sensors ta' allarm , Ouputs)
 Grafika Intelliġenti ta 'kontroll eHouse dar u viżwalizzazzjoni awtomatiku online - java sors miftuħ
Għal RoomManager u EthernetRoomManager:
 Grafika Intelliġenti ta 'kontroll eHouse dar u viżwalizzazzjoni awtomatiku online - java sors miftuħ
 Grafika Intelliġenti ta 'kontroll eHouse dar u viżwalizzazzjoni awtomatiku online - java sors miftuħ
 Grafika Intelliġenti ta 'kontroll eHouse dar u viżwalizzazzjoni awtomatiku online - java sors miftuħ
Il-kontrollur tal-bojler , irkupru ta 'CO (HeatManagera)
 Grafika Intelliġenti ta 'kontroll eHouse dar u viżwalizzazzjoni awtomatiku online - java sors miftuħ
 Grafika Intelliġenti ta 'kontroll eHouse dar u viżwalizzazzjoni awtomatiku online - java sors miftuħ
Aktar informazzjoni tista 'tinstab fl-artikoli ddedikati għall-libreriji ipprogrammar eHouse4Android (eHouse għall Android – Android Java) , li ġew tradotti Java SE għall-kompatibilità u l-faċilità ta 'żvilupp ta' softwer fuq is-sistemi differenti operattivi .
IL-KODIĊI SORS
/ *
* Applikazzjonijiet Template għas-sistema viżwalizzazzjoni grafiku , eHouse smart home
* Biss għal utenti rreġistrati tas-sistema eHouse , Kumpaniji li kkooperaw All Rights Reserved
*
* Jirrikjedi Klassijiet:
* Ehousecommunication . klassi – tibgħat l-avvenimenti għas-sistema
* EhouseTCP . klassi – Inizjalizzazzjoni u manutenzjoni ta 'komunikazzjonijiet fuq TCP / IP kontrollur , Data aġġornata mill-inputs tas-sistema u l-outputs
* StatusEhouse . klassi – data settings tal-ħażna u l-kontrollur , aġġornata fuq bażi kontinwa fuq TCP / IP kontrolluri ehouse1 (485)
* StatusCommManager . klassi – jaħżen id-data kurrenti u settings kontrolluri , aġġornata fuq bażi kontinwa fuq TCP / IP kontrolluri ehouse2 (Ethernet)
* GraphicObject . klassi – ħażna ta 'oġġetti grafika
* Viżwalizzazzjoni . klassi – jiġbed oġġetti grafiċi (linji , elissi , rettangoli) u avvenimenti relatati ta 'servizz
*
* Applikazzjoni template ddisinjati viżwalizzazzjoni grafika ta 'Sistema ta' eHouse
* BISS GĦAL UTENTI REĠISTRATI , Bejjiegħa , ISYS kooperattivi Copyright . En All Rights Reserved
*
* Klassijiet meħtieġa:
* Ehousecommunication . klassi – jibgħat avvenimenti għas-sistema
* EhouseTCP . klassi – inizjalizzazzjoni u TCP / IP manutenzjoni komunikazzjoni mal-kontrolluri , aġġornament istatus attwali ta 'kontrolluri
* StatusEhouse . klassi – kontrolluri settings u ħażna ta 'data , data aġġornament (TCP / IP) għal ehouse1 kontrolluri (485)
* StatusCommManager . klassi – kontrolluri settings u ħażna ta 'data , aġġornament tad-data (TCP / IP) għal ehouse2 kontrolluri (Ethernet)
* GraphicObject . klassi – oġġetti grafiċi ħżin tad-data
* Viżwalizzazzjoni . klassi – oġġetti tpinġija grafika (linji , Elissi , rettangoli) u avvenimenti tqandil relatati magħhom
* /
pakkett ehouse4java ;
importazzjoni java . awt . * ;
importazzjoni java . awt . avveniment . * ;
importazzjoni javax . jitbandal . * ;
importazzjoni javax . jitbandal . avveniment . Changeevent ;
importazzjoni javax . jitbandal . avveniment . ChangeListener ;
Ehouse4java klassi pubblika testendi JFrame timplimenta ActionListener , ChangeListener {
/ **
* Responsabbli għall initializing-istatus tas-sistema tal-Klassi , u joħolqu
* It-tieqa prinċipali applikazzjoni . Implimenti interfaces li jappoġġjaw l-avveniment
* Assoċjati ma buttuni .
*
* Responsabbli għall initializing-istatus ta 'klassijiet u l-ħolqien Klassi
* It-tieqa prinċipali applikazzjoni . Dan implimenti avvenimenti interfaces ta 'appoġġ
* Relatati ma 'l-buttuni .
* /
/ **
* Viżwalizzazzjoni oġġett li jkun fih fehma li bħalissa Murija
* /
Viżwalizzazzjoni pubbliku viżwalizzazzjoni ;
/ / Għażliet pubbliċi viżwalizzazzjoni ;
/ / TextEvents pubbliċi viżwalizzazzjoni ;
/ **
* Pallete ta 'buttuni ta' appoġġ zooming , ċaqliq u l-bdil
* Murija fehma
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
Għażliet JButton ;
JButton View ;
Lura JButton ;
JButton [] = JButton ġdid ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel ma 'l-buttuni
* /
ZoomPanel JPanel ;
/ **
* Panel murija bħalissa fihom viżwalizzazzjoni
* /
Viewpanel JPanel ;
/ **
* Il-bord li jkun fih grupp ta 'buttuni użati għall-aċċess istati kontrolluri ,
* Sistema iskedi eċċ . .
* /
Optionspanel JPanel ;
/ **
* Scrollpanes Oprional
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
pubbliku buttonscounter statiku int ;
pubblika int centerX ;
CenterY int pubblika ;
pubblika int prevCenterX ;
prevCenterY int pubblika ;
Ycompensation int pubblika ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
doppja prevScaleX ;
doppja prevScaleY ;
pubbliku zoomfactor doppja finali = 0 . 3 ;
pubbliku statiku String = previousoptionsview ” ” ;
/ **
* Toħloq Ehouse4java forma l-ġdida . Jibda l-istatus ta 'klassijiet u grafiċi
* Komponenti bil tieqa prinċipali .
* /
pubbliku Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Jibda komponenti kollha grafiċi
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (Dimensjoni ġdida (200 , 200)) ;
setVisible (veru) ;
prevCenterX = (int) Viżwalizzazzjoni . getBounds () . getCenterX () ;
prevCenterY = (int) Viżwalizzazzjoni . getBounds () . getCenterY () ;
}
/ **
* Jibda komponenti kollha nixfin kif pannelli grafiċi , buttuni , scrollbars , eċċ . .
*
* Pane Param @
* /
pubbliku null addComponentToPane (pane Container) {

optionfirsttime = vera ;

ExitB = JButton ġdid ( ” Ħruġ ” ) ;
ExitB . setActionCommand ( ” Ħruġ ” ) ;
ExitB . addActionListener (dan) ;
. . .
indexView int = 0 ;
ZoomPanel = ġdid JPanel (ġdid FlowLayout ()) ;
viewpanel . żid (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = JButton ġdid ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (dan) ;
ZoomPanel . żid (ZoomPlusButton) ;
ZoomMinusButton = JButton ġdid ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (dan) ;
ZoomPanel . żid (ZoomMinusButton) ;
. . .
}
/ **
* Tagħti bidu u StatusEhouse klassijiet StatusCommManager mill-kontrolluri tat-tagħbija
* Status
* /
pubbliku null OnCreate () { . . . }
/ **
* Args Param @-argumenti kmand tal-linja
* /
pubbliku null (args String []) {statiku prinċipali
/ *
* Oħloq u juru l-forma
* /
java . awt . EventQueue . invokeLater (ġdid Runnable () {
pubbliku null run () {
Ehouse4java ġdid () . setVisible (veru) ;
}
}) ;
}
/ **
* Jappoġġja l-avvenimenti invokata billi tikklikkja fuq buttuna
*
* E Param @
* /
@ Jwarrab
null pubbliku actionPerformed (e ActionEvent) {
swiċċ (e . getActionCommand ()) {
każ ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Kumpens ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Centering-fehma wara rescalling
ehousecommunication . OffsetX + = (int) ((Viżwalizzazzjoni . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Kumpens + = (int) ((Viżwalizzazzjoni . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Ikkalkula zoom
Viżwalizzazzjoni . repaint () ;
ritorn ;
. . .
}
}
}