Teach Aonair Amharcléiriú agus rialú grafacha ó Uathoibriú Córas eHouse – Java

Léirshamhlú grafach Baile Uathoibriú eHouse Síneann an timpeallacht a fhorbairt le haghaidh an chórais agus go gcruthaíonn an fhéidearthacht de forbairt bogearraí neamhspleách do chóras deiridh ofeHouse úsáideoirí , cuideachtaí comhlachaithe agus gnóthaí ar mian leo cur ina n-aonar cláir i dtimpeallacht JSE (Java) . Tá eHouse do Java (eHouse4Java) ag luí leis an Android agus Windows Mobile leabharlanna , ag ligean duit a chruthú do bhogearraí féin le haghaidh painéil rialaithe agus táibléad .
Tá an leabharlann an teimpléad iarratais ar chumas agus:

  • luchtú cumraíochta , ainmneacha na rialtóirí , Aschuir , Ionchuir , braiteoirí , srl .
  • chinntiú rialtóir córas cumarsáide
  • glactha agus díchódaithe an stádas rialaitheoir sonraí
  • sheoladh orduithe rialaithe grafach (leis an léirshamhlú de rudaí) nó ó bhfoirm téacs (le selectable réimse)
  • rialú chóras trí wifi , Idirlíon , SMS , Ríomhphost
  • Amharcléiriú agus rialú grafacha – luchtú an comhad téacs rudaí grafacha a bhaineann leis na himeachtaí chun feidhme (de chóras eHouse) agus statuses trealamh
  • Léirshamhlú Uathoibríoch don rialtóir (seomra)

Amharcléiriú a cruthaíodh ag baint úsáide as java leabharlann ” swing ” le gnéithe de ” JPanel ” , ” JButton ” srl .
Tá na rudaí go huathoibríoch ” dúbailte – maolánaithe ” , ionas go mbeidh an éifeacht flicker a dhíchur , a bhfuil an-annoying don úsáideoir .
Is féidir leis an úsáideoir a rialú chomh maith leis an íomhá:

  • súmáil isteach agus amach
  • bogadh suas , síos agus ó thaobh go taobh
  • athrú ar an dearcadh atá ann faoi láthair ag roghnú an ” Roghanna ”
  • ar ais chuig an Amharcléiriú grafach ar an gcóras trí roghnú ” Féach ar ”

Sampla de chóras eHouse Amharcléiriú:
 Chliste baile rialú eHouse grafaicí ar líne agus léirshamhlú - java foinse oscailte
 Chliste baile rialú eHouse grafaicí ar líne agus léirshamhlú - java foinse oscailte
Zúmáil isteach agus cuireadh i gcrích amach leis an úsáid a bhaint as grafaicí veicteoir Inscálaithe (SVG) , ionas nach an íomhá a chailleadh a cháilíocht tar éis an athrú ar an scála:
 Cealaigh athruithe

Nua! ;
rialaitheoirí stádas ar taispeáint go huathoibríoch:
Tá sé cothrom le dáta trí líonra ríomhaire nó ar an Idirlíon (TCP nó UDP) – ar líne (i bhfíor-am)
 Chliste baile rialú eHouse grafaicí ar líne agus léirshamhlú - java foinse oscailte
 Chliste baile rialú eHouse grafaicí ar líne agus léirshamhlú - java foinse oscailte
 Chliste baile rialú eHouse grafaicí ar líne agus léirshamhlú - java foinse oscailte
 Chliste baile rialú eHouse grafaicí ar líne agus léirshamhlú - java foinse oscailte
De réir a roghnú na ” Roghanna ” agus is féidir leis an seomra a fheiceáil rialtóirí stáit agus cláir a roghnú .
Beidh Athrú ar an stádas UDP ag teacht isteach go huathoibríoch rewizualizacjÄ ™:  Chliste baile rialú eHouse grafaicí ar líne agus léirshamhlú - java foinse oscailte
 Chliste baile rialú eHouse grafaicí ar líne agus léirshamhlú - java foinse oscailte
Chomh maith le léirshamhlú aonar dhearadh bunaithe ar an dearadh ailtireachta agus suiteáil bhaile cliste a cruthaíodh go huathoibríoch ar an Amharcléiriú go neamhspleách do gach rialaitheoir sa chóras (go háirithe le haghaidh RoomManagers agus EthernetRoomManager – le haghaidh seomraí ar leith) .
Ceadaíonn sé seo do painéil rialaithe neamhspleách agus léirshamhlú le haghaidh gach seomra ina n-aonar , gan tedious tionscadail a chruthú – córas léirshamhlú bunaithe ar .
Chun CommManager (stáit na braiteoirí aláram , Aschur)
 Grafaicí baile Chliste eHouse rialú agus léirshamhlú uathoibríoch ar líne - java foinse oscailte
Chun RoomManager agus EthernetRoomManager:
 Grafaicí baile Chliste eHouse rialú agus léirshamhlú uathoibríoch ar líne - java foinse oscailte
 Grafaicí baile Chliste eHouse rialú agus léirshamhlú uathoibríoch ar líne - java foinse oscailte
 Grafaicí baile Chliste eHouse rialú agus léirshamhlú uathoibríoch ar líne - java foinse oscailte
An rialtóir coire , aisghabháil CO (HeatManagera)
 Grafaicí baile Chliste eHouse rialú agus léirshamhlú uathoibríoch ar líne - java foinse oscailte
 Grafaicí baile Chliste eHouse rialú agus léirshamhlú uathoibríoch ar líne - java foinse oscailte
Is féidir tuilleadh eolais a fháil sna hairteagail a bheidh dírithe ar chláir eHouse4Android leabharlanna (eHouse le haghaidh Android – Android Java) , atá aistrithe go Java SE le haghaidh comhoiriúnacht agus éasca le forbairt bogearraí ar chórais oibriúcháin éagsúla .
AN CÓD FOINSE
/ *
Iarratais ar Teimpléad * do chóras Amharcléiriú grafach , eHouse bhaile cliste
* Ach amháin le haghaidh úsáideoirí cláraithe ar an eHouse chórais , Cuideachtaí Comhoibriú Gach Ceart ar Cosaint
*
* Requires Ranganna:
* Ehousecommunication . rang – imeachtaí a sheoladh chuig an gcóras
* EhouseTCP . rang – Initialization agus cothabháil na cumarsáide níos mó ná TCP / IP rialtóir , Sonraí cothrom le dáta ó na hionchuir gcóras agus aschuir
* StatusEhouse . rang – sonraí suímh stórála agus rialtóir , cothrom le dáta ar bhonn leanúnach thar TCP / IP rialaitheoirí ehouse1 (485)
* StatusCommManager . rang – stóráil sonraí reatha agus i suímh rialaitheoirí , cothrom le dáta ar bhonn leanúnach thar TCP / IP rialaitheoirí ehouse2 (Ethernet)
* GraphicObject . rang – stóráil rudaí grafacha
* Amharcléiriú . rang – tharraingt rudaí grafacha (línte , ellipses , dronuilleoga) agus imeachtaí seirbhísí gaolmhara
*
Teimpléad Iarratais * deartha Amharcléiriú grafach de Chóras eHouse
* AMHÁIN d'úsáideoirí cláraithe , Díoltóirí , ISYS gComharchumann Cóipcheart . En Gach Ceart ar Cosaint
*
* Ranganna Riachtanacha:
* Ehousecommunication . rang – imeachtaí a sheoladh chuig an gcóras
* EhouseTCP . rang – initialization agus cothabháil TCP / IP cumarsáid le rialtóirí , thabhairt cothrom le dáta stádas reatha na rialtóirí
* StatusEhouse . rang – suímh rialaitheoirí agus sonraí a stóráil , sonraí a thabhairt cothrom le dáta (TCP / IP) le haghaidh ehouse1 rialaitheoirí (485)
* StatusCommManager . rang – suímh rialaitheoirí agus sonraí a stóráil , thabhairt cothrom le dáta sonraí (TCP / IP) le haghaidh ehouse2 rialaitheoirí (Ethernet)
* GraphicObject . rang – rudaí sonraí grafach stóráil
* Amharcléiriú . rang – rudaí a tharraingt grafach (línte , Ellipses , dronuilleoga) agus imeachtaí a láimhseáil a bhaineann leo
* /
ehouse4java pacáiste ;
allmhairiú java . awt . * ;
allmhairiú java . awt . imeacht . * ;
allmhairiú javax . swing . * ;
allmhairiú javax . swing . imeacht . Changeevent ;
allmhairiú javax . swing . imeacht . ChangeListener ;
Síneann Ehouse4java poiblí rang JFrame uirlisí ActionListener , ChangeListener {
/ **
* Rang atá freagrach as initializing an stádas chóras , agus a chruthú
* Tá an fhuinneog príomhfhoirmeacha iarratais na . Cuireann comhéadain a thacaíonn leis an ócáid
* Bainteach le cnaipí .
*
* Rang Freagrach as initializing stádas na ranganna agus a chruthú
* Tá an fhuinneog príomhfhoirmeacha iarratais na . Sin Cuireann imeachtaí comhéadain tacaíochta
* A bhaineann le na cnaipí .
* /
/ **
Réad Amharcléiriú * ina bhfuil dearcadh faoi láthair taispeáint
* /
Amharcléiriú léirshamhlú poiblí ;
/ / Roghanna Amharcléiriú Poiblí ;
/ / TextEvents Amharcléiriú Poiblí ;
/ **
* Pallete na cnaipí tacú zooming , aistriú agus ag athrú
* Bhfianaise taispeáint
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
Roghanna JButton ;
JButton View ;
JButton Ar ais ;
JButton [] = nua JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Painéal le gach cnaipí
* /
ZoomPanel JPanel ;
/ **
* Painéal taispeáint ina bhfuil faoi láthair Amharcléiriú
* /
Viewpanel JPanel ;
/ **
* Tá an painéal ina bhfuil grúpa cnaipí a úsáidtear chun rochtain a fháil ar stáit rialaitheoirí ,
* Córas sceidil srl . .
* /
Optionspanel JPanel ;
/ **
* Scrollpanes Oprional
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
buttonscounter slánuimhir poiblí statach ;
poiblí slánuimhir centerX ;
CenterY slánuimhir poiblí ;
poiblí slánuimhir prevCenterX ;
prevCenterY slánuimhir poiblí ;
Ycompensation slánuimhir poiblí ;
prevOffsetX slánuimhir = 0 , prevOffsetY = 0 ;
dúbailte prevScaleX ;
dúbailte prevScaleY ;
zoomfactor poiblí dúbailte deiridh = 0 . 3 ;
poiblí Teaghrán previousoptionsview statach = ” ” ;
/ **
* Cruthaigh Ehouse4java foirm nua . Tús le stádas na ranganna agus grafacha
* Comhpháirteanna le phríomhfhuinneog .
* /
poiblí Ehouse4java () {
Super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Tús na comhpháirteanna uile grafacha
* /
addComponentToPane (getContentPane ()) ;

setSize (400 , 400) ;
setLocation (200 , 0) ;
setMinimumSize (Toise nua (200 , 200)) ;
setVisible (fíor) ;
prevCenterX = (o) Amharcléiriú . getBounds () . getCenterX () ;
prevCenterY = (o) Amharcléiriú . getBounds () . getCenterY () ;
}
/ **
* Tús na comhpháirteanna uile tirim mar painéil grafacha , cnaipí , scrollbharraí , srl . .
*
* Phána Param @
* /
addComponentToPane neamhní poiblí (phána Coimeádán) {

optionfirsttime dílse ;

ExitB = nua JButton ( ” Scoir ” ) ;
ExitB . setActionCommand ( ” Scoir ” ) ;
ExitB . addActionListener (seo) ;
. . .
indexView slánuimhir = 0 ;
ZoomPanel = nua JPanel (nua FlowLayout ()) ;
viewpanel . cuir (ZoomPanel , BorderLayout . PAGE_END) ;
ZoomPlusButton = nua JButton ( ” + ” ) ;
ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ;
ZoomPlusButton . addActionListener (seo) ;
ZoomPanel . cuir (ZoomPlusButton) ;
ZoomMinusButton = nua JButton ( ” – ” ) ;
ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ;
ZoomMinusButton . addActionListener (seo) ;
ZoomPanel . cuir (ZoomMinusButton) ;
. . .
}
/ **
* Thionscnóidh agus a StatusEhouse ranganna StatusCommManager rialaitheoirí luchtú
* Stádas
* /
OnCreate neamhní poiblí () { . . . }
/ **
* Thagair Param @ na argóintí
* /
neamhní poiblí is mó (an rogha Teaghrán []) statach {
/ *
* Cruthaigh agus an fhoirm a thaispeáint
* /
java . awt . EventQueue . invokeLater (nua Runnable () {
reáchtáil ar neamhní poiblí () {
Ehouse4java nua () . setVisible (fíor) ;
}
}) ;
}
/ **
* Tacaíocht imeachtaí agairt trí chliceáil ar an gcnaipe
*
* E Param @
* /
@ Sáraigh
neamhní poiblí actionPerformed (e ActionEvent) {
athrú (e . getActionCommand ()) {
cás ” ZoomPlus ” :
prevOffsetX = ehousecommunication . OffsetX ;
prevOffsetY = ehousecommunication . Taobhmhiosúir ;
ehousecommunication . ScaleX * = (1 + zoomfactor) ; / / * 100/zoomleve ;
ehousecommunication . ScaleY * = (1 + zoomfactor) ; / / * 100/zoomleve ;
/ / Dhíríonn ar an tuairim tar éis rescalling
ehousecommunication . OffsetX + = (o) ((Amharcléiriú . getBounds () . getCenterX () + prevOffsetX) * zoomfactor) ;
ehousecommunication . Offsets + = (o) ((Amharcléiriú . getBounds () . getCenterY () + prevOffsetY) * zoomfactor) + Ycompensation / (1 / (2 * zoomfactor)) ;
EhouseTCP . ReadViewFile (ehousecommunication . currentview) ; / / Ríomh súmáil
Amharcléiriú . repaint () ;
ar ais ;
. . .
}
}
}