House Delweddu unigol a rheoli graffigol o Automation System eHouse – Java

Delweddu graffigol o Automation Hafan eHouse ymestyn yr amgylchedd datblygu ar gyfer y system ac yn creu'r posibilrwydd o ddatblygu meddalwedd annibynnol ar gyfer system defnyddwyr terfynol ofeHouse , cwmnïau cysylltiedig a busnesau sy'n dymuno cyfrannu yn unigol rhaglennu yn yr amgylchedd JSE (Java) . eHouse ar gyfer Java (eHouse4Java) yn cyd-fynd â Android a Windows Mobile llyfrgelloedd , caniatáu i chi greu eich meddalwedd hun ar gyfer paneli rheoli a thabledi .
Mae'r llyfrgell yn y templed cais ac yn galluogi:

  • lwytho ffurfweddiad , enwau'r rheolwyr , Allbynnau , Mewnbynnau , synwyryddion , ac ati .
  • sicrhau bod rheolwr system gyfathrebu
  • derbyn a datgodio y statws rheolwr data
  • anfon gorchmynion rheoli graffigol (gyda delweddu o wrthrychau) neu o ffurf testun (gyda selectable maes)
  • rheoli system drwy WiFi , Rhyngrwyd , SMS , e-bost
  • Delweddu graffigol a rheolaeth – llwytho'r ffeil destun gwrthrychau graffig sy'n gysylltiedig â'r digwyddiadau i gael ei ddienyddio (o system eHouse) a Statws offer
  • Delweddu awtomatig ar gyfer y rheolwr (ystafell)

Delweddu yn cael ei greu gan ddefnyddio java llyfrgell ” swing ” gydag elfennau o ” JPanel ” , ” JButton ” ac ati .
Mae'r gwrthrychau yn awtomatig ” dwbl – clustogi'n ” , fel bod effaith cryndod yn cael ei ddileu , sydd yn iawn yn blino ar gyfer y defnyddiwr .
Gall y defnyddiwr hefyd yn rheoli y ddelwedd:

  • chwyddo i mewn ac allan
  • symud i fyny , i lawr ac o ochr i ochr
  • newid y farn bresennol drwy ddewis y ” Opsiynau ”
  • dychwelyd i'r delweddu graffigol o'r system drwy ddewis y ” Gweld ”

Enghraifft o system eHouse delweddu:
 Cartref deallus eHouse rheoli graffeg ar-lein a delweddu - java ffynhonnell agored
 Cartref deallus eHouse rheoli graffeg ar-lein a delweddu - java ffynhonnell agored
Chwyddo i mewn ac allan yn cael ei wneud gyda'r defnydd o graffeg fector scalable (SVG) , fel nad yw'r ddelwedd yn colli ei ansawdd ar ôl y newid maint:
 Dadwneud golygiadau

Newydd! ;
rheolwyr statws yn cael eu harddangos yn awtomatig:
Mae'n cael ei diweddaru drwy rwydwaith cyfrifiadur neu Rhyngrwyd (TCP neu CDU) – ar-lein (mewn amser real)
 Cartref deallus eHouse rheoli graffeg ar-lein a delweddu - java ffynhonnell agored
 Cartref deallus eHouse rheoli graffeg ar-lein a delweddu - java ffynhonnell agored
 Cartref deallus eHouse rheoli graffeg ar-lein a delweddu - java ffynhonnell agored
 Cartref deallus eHouse rheoli graffeg ar-lein a delweddu - java ffynhonnell agored
Drwy ddewis y ” Opsiynau ” a gall yr ystafell yn cael ei gweld rheolwyr yn nodi a dewis rhaglenni .
Newid statws y CDU sy'n dod i mewn yn awtomatig rewizualizacjÄ ™:  Cartref deallus eHouse rheoli graffeg ar-lein a delweddu - java ffynhonnell agored
 Cartref deallus eHouse rheoli graffeg ar-lein a delweddu - java ffynhonnell agored
Yn ogystal â delweddu unigol a gynlluniwyd yn seiliedig ar y dyluniad pensaernïol a gosod cartref smart yn cael ei greu yn awtomatig yn y delweddu yn annibynnol ar gyfer pob rheolwr yn y system (yn arbennig ar gyfer RoomManagers a EthernetRoomManager – gyfer ystafelloedd unigol) .
Mae hyn yn caniatáu ar gyfer paneli rheoli annibynnol a delweddu ar gyfer pob ystafell yn unigol , heb ddiflas i greu prosiect – system delweddu sy'n seiliedig ar .
Ar gyfer CommManager (yn datgan o synwyryddion larwm , Ouputs)
 Cartref deallus graffeg rheoli eHouse a delweddu awtomatig ar-lein - java ffynhonnell agored
Ar gyfer RoomManager a EthernetRoomManager:
 Cartref deallus graffeg rheoli eHouse a delweddu awtomatig ar-lein - java ffynhonnell agored
 Cartref deallus graffeg rheoli eHouse a delweddu awtomatig ar-lein - java ffynhonnell agored
 Cartref deallus graffeg rheoli eHouse a delweddu awtomatig ar-lein - java ffynhonnell agored
Mae'r rheolwr boeler , adennill CO (HeatManagera)
 Cartref deallus graffeg rheoli eHouse a delweddu awtomatig ar-lein - java ffynhonnell agored
 Cartref deallus graffeg rheoli eHouse a delweddu awtomatig ar-lein - java ffynhonnell agored
Gellir cael mwy o wybodaeth yn yr erthyglau neilltuo i raglenni llyfrgelloedd eHouse4Android (eHouse ar gyfer Android – Android Java) , sydd wedi cael eu cyfieithu i'r Java SE er mwyn sicrhau cytunedd a rhwyddineb o ddatblygu meddalwedd ar systemau gweithredu gwahanol .
Y COD FFYNHONNELL
/ *
Ceisiadau Templed * ar gyfer system delweddu graffig , eHouse cartref smart
* Dim ond ar gyfer defnyddwyr cofrestredig y system eHouse , Cwmnïau Cydweithio Cedwir pob hawl
*
* Angen Dosbarthiadau:
* Ehousecommunication . dosbarth – anfon digwyddiadau i'r system
* EhouseTCP . dosbarth – Ymgychwyn a chynnal a chadw o gyfathrebu dros TCP / IP rheolwr , Data diweddaru o'r mewnbynnau ac allbynnau system
* StatusEhouse . dosbarth – data lleoliadau storio a rheolwr , diweddaru ar sail barhaus dros TCP / IP rheolwyr ehouse1 (485)
* StatusCommManager . dosbarth – storio data presennol a lleoliadau rheolwyr , diweddaru ar sail barhaus dros TCP / IP rheolwyr ehouse2 (Ethernet)
* GraphicObject . dosbarth – storio gwrthrychau graffigol
* Delweddu . dosbarth – tynnu gwrthrychau graffigol (llinellau , elipsau , petryalau) a digwyddiadau gwasanaeth cysylltiedig
*
Templed Gais * cynllunio delweddu graffig o System eHouse
* DIM OND AR GYFER DEFNYDDWYR COFRESTREDIG , Vendors , ISYS COOPERATIVES Hawlfraint . En Cedwir pob hawl
*
* Dosbarthiadau gofynnol:
* Ehousecommunication . dosbarth – anfon digwyddiadau i'r system
* EhouseTCP . dosbarth – initialization a chynnal a chadw TCP / IP cyfathrebu gyda rheolwyr , diweddaru statws presennol o reolwyr
* StatusEhouse . dosbarth – lleoliadau reolwyr a storio data , data diweddaru (TCP / IP) ar gyfer rheolwyr ehouse1 (485)
* StatusCommManager . dosbarth – lleoliadau reolwyr a storio data , diweddaru data (TCP / IP) ar gyfer rheolwyr ehouse2 (Ethernet)
* GraphicObject . dosbarth – gwrthrychau data storio graffig
* Delweddu . dosbarth – gwrthrychau graffig tynnu (llinellau , Elipsau , petryalau) a digwyddiadau trafod sy'n gysylltiedig â hwy
* /
ehouse4java pecyn ;
mewnforio java . awt . * ;
mewnforio java . awt . digwyddiad . * ;
mewnforio javax . swing . * ;
mewnforio javax . swing . digwyddiad . Changeevent ;
mewnforio javax . swing . digwyddiad . ChangeListener ;
Ehouse4java cyhoeddus o'r radd flaenaf yn ymestyn JFrame offer ActionListener , ChangeListener {
/ **
* Dosbarth sy'n gyfrifol am ymgychwyn y statws system , ac yn creu
* Mae'r ffenestr prif gais . Yn gweithredu rhyngwynebau sy'n cefnogi'r digwyddiad
* Cysylltiedig â botymau .
*
* Dosbarth gyfrifol am ymgychwyn y statws o ddosbarthiadau a chreu
* Mae'r ffenestr prif gais . Mae hynny'n Yn gweithredu digwyddiadau rhyngwynebau cymorth
* Yn gysylltiedig â'r botymau .
* /
/ **
Gwrthrych Delweddu * sy'n cynnwys barn Dangos ar hyn o bryd
* /
Delweddu delweddu cyhoeddus ;
/ / Opsiynau delweddu Cyhoeddus ;
/ / TextEvents delweddu Cyhoeddus ;
/ **
* Pallete o fotymau cefnogi chwyddo , symud a newid
* Dangos barn
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
Opsiynau JButton ;
JButton View ;
JButton ôl ;
JButton [] = newydd JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel gyda'r holl fotymau
* /
ZoomPanel JPanel ;
/ **
* Panel arddangos ar hyn o bryd yn cynnwys delweddu
* /
Viewpanel JPanel ;
/ **
* Mae'r panel yn cynnwys grŵp o fotymau a ddefnyddir i gael mynediad yn datgan rheolwyr ,
* System amserlenni ac ati . .
* /
Optionspanel JPanel ;
/ **
* Scrollpanes Oprional
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
buttonscounter int sefydlog cyhoeddus ;
cyhoeddus int centerX ;
CenterY cyhoeddus int ;
cyhoeddus int prevCenterX ;
prevCenterY cyhoeddus int ;
Ycompensation cyhoeddus int ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
dwbl prevScaleX ;
dwbl prevScaleY ;
zoomfactor dwbl cyhoeddus terfynol = 0 . 3 ;
cyhoeddus Llinynnol sefydlog previousoptionsview = ” ” ;
/ **
* Creu Ehouse4java ffurflen newydd . Cychwyn ar y statws o ddosbarthiadau a graffig
* Cydrannau gyda ffenestr phrif .
* /
cyhoeddus Ehouse4java () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Cychwyn yr holl gydrannau graffig
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (Dimensiwn newydd (200 , 200)) ;
setVisible (wir) ;
prevCenterX = (int) Delweddu . getBounds () . getCenterX () ;
prevCenterY = (int) Delweddu . getBounds () . getCenterY () ;
}
/ **
* Cychwyn yr holl gydrannau sych fel paneli graffeg , botymau , bariau sgrolio , ac ati . .
*
* Cwarel Param @
* /
addComponentToPane ddi-rym cyhoeddus (paen Cynhwysydd) {

optionfirsttime = true ;

ExitB = newydd JButton ( ” Gadewch ” ) ;
ExitB . setActionCommand ( ” Gadewch ” ) ;
ExitB . addActionListener (hyn) ;
. . .
indexView int = 0 ;
ZoomPanel = newydd JPanel (newydd FlowLayout ()) ;
viewpanel . ychwanegu (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = newydd JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (hyn) ;
ZoomPanel . ychwanegu (ZoomPlusButton) ;
ZoomMinusButton = newydd JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (hyn) ;
ZoomPanel . ychwanegu (ZoomMinusButton) ;
. . .
}
/ **
* Yn cychwyn ac yn StatusEhouse dosbarthiadau StatusCommManager gan reolwyr llwytho
* Statws
* /
OnCreate gwag cyhoeddus () { . . . }
/ **
* Args Param @ y dadleuon llinell orchymyn
* /
(args String []) ddi-rym cyhoeddus prif sefydlog {
/ *
* Creu ac arddangos y ffurflen
* /
java . awt . EventQueue . invokeLater (newydd Runnable () {
rhedeg gwag cyhoeddus () {
Ehouse4java newydd () . setVisible (wir) ;
}
}) ;
}
/ **
* Cefnogi digwyddiadau galw i rym drwy glicio ar y botwm
*
* E Param @
* /
@ Diystyru
ddi-rym actionPerformed cyhoeddus (e ActionEvent) {
switsh (e . getActionCommand ()) {
achos ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Gwrthbwyso ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Canoli barn ar ôl rescalling
ehousecommunication . OffsetX + = (int) ((Delweddu . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Gwrthbwyso + = (int) ((Delweddu . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Cyfrifwch zoom
Delweddu . ailbeintio () ;
dychwelyd ;
. . .
}
}
}